سلام
در مورد اين چيزي که شما ميگيد اول کار ارتباط ربطي به Winsok نداره. اول يه ارتباط از طريق مودم هست نه يک ارتباط از طريق TCP يعني اول هيچ گونه پورتي وجود نداره. معمولا اول يه سري داده از طريق مودم رد و بدل ميشه (با يه ارتباط از طريق Comm و طبق استانداردهاي Comm) بعد که ارتباط به عبارتي از طرف Remote تاييد شد (مثلا بعد از بررسي پاس و User Name ) تازه اونوقته که اين ارتباط از طريق مودم به يه ارتباط تقريبا مجازي که از پروتکل TCP پيروي ميکنه تبديل ميشه. از اون به بعده که شما ميتونيد از Winsock استفاده کنيد اما اين کاري که شما ميگيد کار ساده اي نيست. چون علاوه بر اينکه کاملا وابسته به Platform هست شما مجبوريد اين ارتباط رو به صورت غير مستقيم به سيستم عامل بفهمونيد چون در حقيقت سيستم عامله که بايد سرويس بده نه برنامه شما.
من فکر نميکنم اين کاري که شما قصد انجامشو داريد زياد منطقي باشه چون اونوقت به راحتي ميشه برنامه رو گول زد و هزار جور دوز و کلک سوار کرد!
اما اگه ميخوايد بدونيد که اون ازتباطي که اول برقرار ميشه (از طريق مودم) و User و Pass چطور انتقال داده ميش بهتره که تو RFC (که خيلي شبيه اسم شماست !!!) دنبالش بگرديد. و اگه ميخوايد يه نمونه برنامه مودم ببينيد تو VB6 يه مثال بود که با MSDN هاي قديمي نصب ميشد در .Net هم نميدونم.