怎样得到电话的来电号码?
做了一个CRM系统,现在想和电话机联系起来.实现.客户拨电话过来时,能把CRM里已经存在的客户记录调出来.
请问怎么做? --------------------编程问答-------------------- 找个cti论坛问一下.
--------------------编程问答-------------------- 友情UP --------------------编程问答-------------------- cpp2017(慕白兄) ( )生的真快 --------------------编程问答-------------------- 这你得和处理电话接入那块的人商量了,只能他传输给你 --------------------编程问答-------------------- 接收。。。 --------------------编程问答-------------------- d --------------------编程问答-------------------- 开通来电显示 并获取来电信息 --------------------编程问答-------------------- 有两种收码方式,DTMF和FSK 语音卡有专门处理收码的方法,收到缓冲区里截掉时间码 --------------------编程问答-------------------- 使用TAPI编程即可. 这是一个VB的例子: Imports TAPI3Lib Public Class cTAPI Dim gobjTapi As TAPI Dim WithEvents gobjTapiWithEvents As TAPI Dim glRegistrationToken As Long Dim gobjReceivedCallInfo As ITCallInfo Dim gbSupportedCall As Boolean Const TAPI3_CALL_EVENTS = TAPI_EVENT.TE_CALLMEDIA Or TAPI_EVENT.TE_CALLNOTIFICATION Or TAPI_EVENT.TE_CALLSTATE Public Sub New() gobjTapi = New TAPI() Call gobjTapi.Initialize() Dim gobjAddress As ITAddress Dim objCollAddresses As ITCollection Dim bfound As Boolean Dim indexAddr As Integer Dim objCrtAddress As ITAddress Dim objMediaSupport As ITMediaSupport Dim objAddressCapabilities As ITAddressCapabilities objCollAddresses = gobjTapi.Addresses bfound = False For indexAddr = 1 To objCollAddresses.Count objCrtAddress = objCollAddresses.Item(indexAddr) objMediaSupport = objCrtAddress objAddressCapabilities = objCrtAddress If objMediaSupport.QueryMediaType(TapiConstants.TAPIMEDIATYPE_AUDIO) Then bfound = True End If objAddressCapabilities = Nothing objMediaSupport = Nothing objCrtAddress = Nothing If bfound = True Then Exit For Next indexAddr 'gobjAddress = objCollAddresses.Item(indexAddr) 'musste ich rausnehmen, da sonst gobjTapi.RegisterCallNotifications (ca Line 57) abraucht - bei mir wird bei 'indexAddr = 1 = 7 = 8 bfound = true, aber nur bei indexAddr = 8 wird der Handler registriert gobjAddress = objCollAddresses.Item(8) gobjTapi.EventFilter = TAPI3_CALL_EVENTS gobjTapiWithEvents = gobjTapi Dim fOwner As Boolean, fMonitor As Boolean Dim lMediaTypes As Long, lCallbackInstance As Long fOwner = True fMonitor = False lMediaTypes = TapiConstants.TAPIMEDIATYPE_AUDIO lCallbackInstance = 1 glRegistrationToken = gobjTapi.RegisterCallNotifications( _ gobjAddress, _ fMonitor, _ fOwner, _ lMediaTypes, _ lCallbackInstance) End Sub Public Sub InstallListener() End Sub Private Sub gobjTapiWithEvents_Event(ByVal TapiEvent As TAPI3Lib.TAPI_EVENT, ByVal pEvent As Object) Handles gobjTapiWithEvents.Event If TapiEvent = TAPI_EVENT.TE_CALLNOTIFICATION Then Dim objCallNotificationEvent As ITCallNotificationEvent objCallNotificationEvent = pEvent Dim gobjReceivedCallInfo As ITCallInfo gobjReceivedCallInfo = objCallNotificationEvent.Call Dim objCallControl As ITBasicCallControl objCallControl = gobjReceivedCallInfo objCallControl.Answer() End If End Sub End Class 还有一个通过回调实现 VOID FAR PASCAL MessageCallback(DWORD hDevice, DWORD dwMsg, DWORD dwCallbackInstance, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3) { bMessageCallBack = true; printf("%u\t%u\t%u\n",dwMsg,dwCallbackInstance,dwParam1); if (dwMsg == LINE_CALLINFO) { if (dwParam1 == LINECALLINFOSTATE_CALLERID) { LONG Res; char *pCallInfo = new char[1024]; LINECALLINFO *CallInfo = reinterpret_cast<LINECALLINFO*>(pCallInfo); CallInfo->dwTotalSize = 1024; //Res = lineGetCallInfo(reinterpret_cast<HCALL>(hDevice), CallInfo); Res = lineGetCallInfo((HCALL)hDevice, CallInfo); char *CalledID = &pCallInfo[CallInfo->dwCallerIDOffset]; printf("CallerID : %s\n", &pCallInfo[CallInfo->dwCallerIDOffset]); delete[] CallInfo; } } } 以上程序都是在TAPI3.0下做的 --------------------编程问答-------------------- 这个需要你的交换设备提供api才可以。一般的交换设备都会有sdk手册。 --------------------编程问答-------------------- 看语音卡的sdk.
--------------------编程问答-------------------- 要有中间插件。。。CTI --------------------编程问答-------------------- 复杂了 --------------------编程问答-------------------- 一个简单的语音猫应该就具备这样的功能! --------------------编程问答-------------------- 学习ing.. --------------------编程问答-------------------- see:
http://www.aspxboy.com/private/showforum.asp?forumid=10 --------------------编程问答-------------------- 得有一个中间硬件,我作的时候是有一个卡。连在服务器上,然后电话可以接在卡上。这样就有接口读来的电话。不知道你们是怎么作的 --------------------编程问答-------------------- 这样通过工具读AT指令,把二进制码转换成中文。就像手机收发短信一样的。 --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 用普通的内置MODEM就行,不过要带这个来电显示功能,V0.92的好像都支持,然后用串口命令来实现。 --------------------编程问答-------------------- use ANI/ALI System , --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 问题的标题写得有点悬...
做过CALL CENTER的人应该都懂。 --------------------编程问答-------------------- 呵呵...需要CTI技术支持! --------------------编程问答-------------------- MODEM可以实现,但最好用语音卡,功能强,且有API,方便,稳定 --------------------编程问答-------------------- ---我是楼主.
现在我知道了,有MODEM,和语音卡两种方法,都可以实现.
我选一种就对了...
有没有做过的朋友,帮忙推荐一个MODEM,或语音卡的.牌子,和具体型号. --------------------编程问答-------------------- 嘿嘿,去电信哪儿办个来电显示,嘿嘿~ --------------------编程问答-------------------- 关注中。。。。。。 --------------------编程问答-------------------- up --------------------编程问答-------------------- 在中国语音卡市场上较为活跃的厂商分为国外和国内两部分。国外厂家主要以Intel-Dialogic、NMS、奥科(Audiocodes)、Ai-Logix、Eicon、Aculab为代表,国内主要厂商包括深圳东进技术、杭州三汇、北京五岳鑫、深圳鼎铭以及TMS等。
--------------------编程问答-------------------- UP。。JF --------------------编程问答-------------------- 市面上那些电话录音软件都有这个功能的. --------------------编程问答-------------------- 方寸电话录音盒专为需要电话录音、收来电号码和拨出号码的软件开发者设计,可以方便地得到来电号码,拨出号码,摘挂机状态,震铃状态,电话录音。我公司提供的来电显示二次开发动态库,并且提供示例程序演示怎样取电话来电号码,拨出号码,摘挂机状态,震铃状态,以及怎么进行电话录音。
该硬件系统适合很多行业,比如电话办公系统、值班系统、送水系统、花店送花、文秘办公系统、小区电话报警等等。当有顾客打电话订购或咨询时,第一次记录电话和地址后,再次来电时会自动弹出来电人地址及曾经记录保存过的其它信息,这样避免了每次询问记录客户地址等,能提高工作效率,有能给客户留下简洁高效的印象。
联系人:张易做图
tel:13715247684
网 址: http://www.mconnm.com
qq:1095770808
补充:.NET技术 , ASP.NET