# Native Code > برنامه نویسی در 6 VB > کامپوننت ها و ابزارهای کاربردی در VB6 >  ارتباط با خط داخلی در KDtele

## e601

با سلام

دوستانی که با کامپوننت KDtele کار کردن میخوام که من رو راهنمایی کنن

سوال من درمورد ارتباط با یک خط داخلی هست. فرض کنید کسی زنگ میزینه برنامه ما گوشی رو بر میداره و یک فایل صوتی رو پخش میکنه
حالا مثلا میخواهیم وقتی کلید 1 رو زد به داخلی 12 وصل بشه.
*من دستورات مربوط به جواب دادن یا تشخیص کلید فشرده شده رو میدونم. فقط دستور اتصال به داخلی رو میخوام*

با تشکر...

----------


## m_shahbazee

:تشویق:  
سلام.

----------


## m_shahbazee

منظورت از داخلی 12 چیه؟

----------


## mpmsoft

شما باید اول خط رو فلش کنید و بعد داخلی رو بگیرید
با تابع GenerateDTMF این کار رو باید انجام بدید

برای ارسال فلش Kd.GenerateDTMF("!") و بعد داخلی Kd.GenerateDTMF("12")

----------


## Babak.Hassanpour

> شما باید اول خط رو فلش کنید و بعد داخلی رو بگیرید
> با تابع GenerateDTMF این کار رو باید انجام بدید
> 
> برای ارسال فلش Kd.GenerateDTMF("!") و بعد داخلی Kd.GenerateDTMF("12")


سلام
من هم این مشکل رو دارم.شما هم قبلا همین جواب رو به بنده دادید.منتها پاسخ سوال بعدی من رو کسی نداد.
برای این کار مودم باید حتما Voice داشته باشه؟
من این اررور رو میگیرم
من هر کاری کردم نتونستم.
کسی راهنمایی نمی کنه؟
با هر کامپوننت دیگه ای هم باشه مساله ای نیست.چون فقط همین کار رو میخوام نه چیز بیشتر.

----------


## alirezash

Dim lvRet As Long
    lvRet = KDPhone1.GenerateDTMFDigits("!")

این دستور برای فلش کردن

----------


## mpmsoft

بینش 1 ثانیه باید وقفه بدی

----------


## sohrab o

میشه نمونه سورس بزاری که بقیه استفاده کنند؟

----------


## mpmsoft

Private Sub SwitchLine(Code as long)

KDPhone1.GenerateDTMFDigits("!") 
Pause 1
KDPhone1.GenerateDTMFDigits(" & Code &")" 
End Sub

Public Sub Pause(NbSec As Single)
 Dim Finish As Single
 Finish = Timer + NbSec
 DoEvents
 Do Until Timer >= Finish
 DoEvents
 Loop
End Sub

----------


## sohrab o

دوست عزیز mpmsoft :
اگر سورس و نمونه ای واسه منشی تلفنی داری اینجا بزار دوستان استفاده کنند

----------


## mpmsoft

> دوست عزیز mpmsoft :
> اگر سورس و نمونه ای واسه منشی تلفنی داری اینجا بزار دوستان استفاده کنند


سورسی که دارم مربوط به پروژه ای هست که نمی تونم سورسشو بذارم
ولی خوب اصل کد وصل کردن داخلی همین کد بالا هست

فقط دقت کنید که این سیستم فقط توسط دستگاه سانترال کار می کنه

----------


## alirezash

دوست عزیز اگه هنگام وصل کردن و خط داخلی اشغال باشه باید چیکار کرد ؟ 
kdtele  خودش dc  می کنه

----------


## mpmsoft

خاصیت AutoDesconnect رو برابر false کنید


Private Sub KDPhone1_OnCallState(ByVal CallState As KDTele.TxCallState, ByVal Param1 As Long, ByVal Param2 As Long, ByVal CallHandle As Long)
If CallState = csRingBack Then
    'خط داخلي مشغول مي باشد
End If
End Sub

----------


## alirezash

دوست عزیز واقعاً دستست درد نکنه . که به همه سوالات بچه ها جواب میدی 
اما یک مشکل . فقطی وصل می کتن متلا به داخلی 102 اگه اشغال بود وصل کنه به داخلی 104.

----------


## mpmsoft

> فقطی وصل می کتن متلا به داخلی 102 اگه اشغال بود وصل کنه به داخلی 104.


باید روی دستگاه سانترال این گزینه رو فعال کنید که وقتی داخلی اشغال بود بوق اشغالی برگردونه

بعد در رویداد Callstete متود اشغالی رو چک کنید

----------


## sohrab o

من نمیدونم چرا وقتی فلش میکنه و وداخلیو میگیره اون داخلی زنگ میخوره اما صدایی شنیده نمیشه
یعنی ارتباط بین کامپیوتر و خط جدید بر قرار  میشه؟!

----------


## mostafa_bahar

آیا می شه یک خط از سانترال پاناسونیک رو بست یا باز کرد با kdtele

----------


## f_2006ir

سلام
من كد زير را استفاده مي كنم

dim a as long
KDPhone1.GenerateDTMFDigits ("!")
sleep 1000   'توقف به مدت 1ثانيه
KDPhone1.GenerateDTMFDigits ("102")
 

خط فلش ميشه ولي وقتي اون طرف گوشي رو برميدارن وصل نميشه
توقفsleep را هم كم و زياد كردم فرقي نكرد .
اينم بگم شايد 4-5 با بصورت شانسي جواب داد. 
مشكل كجاست؟؟؟؟

----------


## MOJTABAATEFEH

آیا با kdtele می توان خط مشخصی را در شرایط خاصی قطع کرد؟

با تشکر

----------


## f_2006ir

اينطوري مشكل حل شد

dim a as long
KDPhone1.GenerateDTMFDigits ("!")
sleep 2000   'توقف به مدت 2ثانيه
KDPhone1.GenerateDTMFDigits ("102")
sleep 1000   'توقف به مدت 1ثانيه
KDPhone1.hangup

ولي اگه خط داخلي اشغال باشه چه كنيم
در رويداد هاي kdphon ميشه تشخيص داد خط busy هست ولي بعد از اينكه باdtmf عمل فلش انجام شده و خط داخلي اشغال بود چطور دوباه مي شه كنترل خط را در دست گرفت و به يه داخلي ديگه وصل كرد!!!!!!!!!!!!!
چرا كي اينجا جواب نميده!!!!!!!!!!!!

----------


## sohrab o

من نمیتونم تشخیص بدم داخلی مشغوله یا نه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

----------

