一项目开发所遇到的问题!高手请进来看!
有一客户想要做一个电话通信程序,具体功能如下:1、去电或者来电的同时,屏幕弹出一窗体,窗体中显示这个来电或者去电的电话号码在数据库的所有信息;
2、弹出的窗体除了有这个电话号码在数据库中的所有信息外,还要包括----1、是否通话 2、通话录音 等这些可选功能
3,如果选择1号按钮(去电默认1号按钮,也就是是否通话按钮默认为开启状态)进行通话时,在自己指定的某位置进行这次通话的详细记录(记录本次接受通话的客服是谁,通话时间,通话模式(来电还是去电)),MODEM卡编号等等);如果选择2号按钮,也就是通话录音,那么就会记录本次通话的所有录音(所保存的录音格式以MODEM卡编号和通话时间命名);
4,通话的同时,在现有的某B/S程序相关查询页面中的TEXT文本自动输入这个电话号码,并自动完成查询;
5,每个月的规定时间里,该程序自动清理一次所有的通话记录以及录音,自动上传到某一指定的电脑中去;
现在客户想这样,不购买电话识别盒,而是购买内置MODEM卡,把这些卡插到电脑中去,电话分线盒把其中一条电话线连接到这个MODEM卡中去,以此来实现以上功能。
没接触过这类的程序开发,所以不清楚许多问题,问题如下:
1,不购买电话识别盒而是通过识别MODEM卡电话信号的方式获取得这个电话号码,这种方式是否可以通过代码编写来完成?
2,开发金费应该喊多少?
请牛人帮忙解决下,师傅呢感谢啊~(采用C/S架构) --------------------编程问答-------------------- UP吧 --------------------编程问答-------------------- 1,不购买电话识别盒而是通过识别MODEM卡电话信号的方式获取得这个电话号码,这种方式是否可以通过代码编写来完成?
MODEM卡 ~~~着东西带的有没有获取电话号码的开发包..如果没有而且电话线路是模拟信号~~我实在想不到怎么做~~
--------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 神奇。。看看~ --------------------编程问答-------------------- mark,等看. --------------------编程问答-------------------- 路过 --------------------编程问答-------------------- up --------------------编程问答-------------------- 不买电话识别盒,MODEM获取的没有用过
如果Modem能够识别电话信号,并且获取电话号码的话,厂家一般都会有对应的开会文档及类库支持,照着开发就行,
如果没有相应的开发文档支持,你不是厂家的开发人员,是不知道那些技术参数的,是没法开发的
对于语音卡这样的来实现楼主的功能,是比较简单的,费用也不会高,可以参考一下东进语音卡,有模拟电话,及数字电话的模块,网上都有对应的开发文档及例子
--------------------编程问答-------------------- 搜索一下调制解调器方面的技术,主要使用串口通信
以前了解了一下,没具体做过 --------------------编程问答-------------------- 学习。。。 --------------------编程问答-------------------- 要选用支持AT &F 读取出厂组态设定ID的Modem,网上的一些资料,给你个参考:
MODEM AT指令集
-------------------------------------------------------------------
Modem RS-232C 说明 :
接脚 名称 功能 方向
----------------------------------------------------
1 AGND 安全接地
2 TD 传送资料 PC TO MODEM
3 RD 接收资料 MODEM TO PC
4 RTS 控制线 PC TO MODEM
5 CTS 控制线 MODEM TO PC
7 DGND 信号接地
8 DCD 信号侦测 MODEM TO PC
12 HI 高速指示 MODEM TO PC
15 TXC 传送时脉 MODEM TO PC *
17 RXC 接收时脉 MODEM TO PC *
20 DTR 控制线 PC TO MODEM
22 RI 铃声指示 MODEM TO PC
----------------------------------------------------
注 : * 号为同步传输时才使用
MODEM 灯号
PWR : 电源指示 亮时表示电源接通
MR : 数据机备妥指示 亮时表示数据机在备用状态 (MODEM READY)
DTR : 电脑连线指示 亮时表示电脑与数据机连线 (DATA TERMINAL
READY)
DCD : 数据机接通指示 亮时表示两台数据机连线成 (DATA CARRIER
功 DETECTOR)
OH : 占线指示 亮时表示数据机占用电话线 (OFF HOCK)
HS : 高速指示 亮时表示数据机在高速状态 (HIGH SPEED)
AA : 应答指示 亮时表示数据机自动应答 (AUTO ANSWER)
TD : 传输指示 (TXD) 亮时表示数据机传送资料 (TRANSMITTER
DATA)
RD : 接收指示 (RXD) 亮时表示数据机接收资料 (RECEIVED DATA)
MODEM AT 指令说明:
AT指令除了指令本身以外尚包括S-Register及Result code
S-Register是用来记录Modem的参数的暂存器,与有关的指
令执行完毕後,Modem会去改变这些参数,但Modem由指令状
态进入连线时,Modem会依照这些参数而决定Modem的功能,
S-Register可由指令之执行而改变,或者也可以由直接改变
S-Register而改变其内容.
Modem的基本指令如下:
AT指令可以为下列几款:(1)非同步指令(2)立即动作指令
(3)MNP错误修正指令(4)拨号修饰指令
.
非同步指令:
B BELL/CCITT协定设定
B0:设定Modem为CCITT协定
B1:设定Modme为BELL协定
E 回应指令:
此指令可以让使用者选择是否把输入的指令回应显示在
萤幕上.
E0:不回应指令
E1:回应指令
L 喇叭音量控制
L指令控制喇叭的音量
L0:喇叭不响
L1:低音量
L2:中音量
L3:高音量
M 喇叭控制
此指令控制喇叭的开关
M0:喇叭不响
M1:Modem在拨号时,喇叭打开,在连线後,喇叭关掉
M2:喇叭永远ON
Q Result code 控制指令
Q指令决定Modem要不要送出Result code 到电脑上
Q0:显示Result code
Q1:不显示Result code
Sr= 写入S暂存器
Sr=n 把 n 数据写入第 r 个S暂存器内
Sr? 读取S暂存器
Sr?读取第 r 个S暂存器
V 决定Result code 的格式
V指令选择Result code 的格式
V0:选择数字式的Result code
V1:选择文字式的Result code
X 控制拨号的过程及结果显示
X指令用来控制Modem在拨号过程中是否要辨识拨号音,
忙音及显示结果是否包括速度显示等
X0:Modem在拨号时不辨识号音及忙音,结果也只显示
CONNECT,不显示Modem的速度
X1:Modme拨号时不辨识拨号音及忙音,但结果显示速度,如
CONNECT 1200,CONNECT 2400等
X2:Modem拨号时辨识拨号音,但不辨识忙音,结果显示速度
X3:Modem不辨识拨号音,但是辨识忙音及结果显示速度
X4:Modem辨识拨号音,忙音及结果显示速度
Y Long Space Break 中止连线
Y指令指使Modem在收到Long Space Break 信号时是否
要中止Modem连线
Y0:在收到Long Space Break时,不中止连线
Y1:在收到Long Space Break时,中止连线
&C 设定RS-232C介面DCD Pin的状态
&C0:设定RS-232C介面DCD Pin(第八Pin)永远ON
&C1:RS-232C介面DCD Pin由信号来决定,当侦测到信号时
DCD ON,否则OFF
.
&D 设定RS-232C介面DTR Pin的状态
&D0:DTR Pin(20pin)永远ON,不理会DTR的控制
&D1:DTR由ON变到OFF时,Modem由连线状态回到到指令状态
&D2:DTR由ON变到OFF时,Modem切断电话线,取消自动回
答及回到指令状态
&D3:DTR由ON变到OFF时,Modem切断电话线,取消自动回
答,并且回到Modem的起始状态
&G Guard Tone的设定
&G0:Modem不送出Guard Tone
&G1:选择Guard Tone为550HZ
&G2:选择Guard Tone为1800HZ
&L 选择拨接或者专线的工作模式
&L0选择Modem为拨接式工作模式
&L1选择Modem为专线式工作模式
&P 选择脉冲式拨号的M/B值
&P0:M/B值为40/60
&P1:M/B值为33/67
&S 控制RS-232C介面DSR Pin的状态
&S0:RS-232C介面DSR Pin(第六Pin)始终为ON
&S1:RS-232C介面DSR Pin由DCD Pin(第八Pin)来决定
.
立即动作指令
A 立即回答
当Modem执行此指令以後,Modem开始侦测Carrier,如果
Carrier侦测到,则进入连线状态
A/ 重覆执行指令
A/指令是唯一前面下必加"AT"的指令.Modem执行此
指令以後,Modem执行上一次已经执行过而且尚暂存在
Command Buffer的指令
D 拨号指令
Modem执行此指令,Modem会依跟在D指令之後的拨号修饰
指令来拨号
H 电话线切换控制
H0:指使Modem切断电话线
H1:指使Modem连线
O 回到连线状态
当Modem因执行ESC code 而回到指令状态时,Modem 可以
由O指令而回到连线状态
Z 重置指令 (RESET)
此指令用来Reset Modem的现行状态
Z指令会使Modem回复到开机起始状态
&F 读取出厂组态设定
&F用来存在ROM中的出厂设定的,载入到Modem的动作组态
区域,而使Modem会执行出厂设定的状态
&W 将动作组态写入非挥发性记忆体中
&W把现在的动作组态写入非挥发性(NN-RAM)记忆体中
等下次开机时,Modem会执行此动作组态
&Z 储存电话号码
此指令是用来将电话号码储存到非挥发性记忆体中,
下次拨号时,可以由S指令而把此电话号码重拨出去
***此指令勿用,以免导至错误动作***
.
拨号修饰指令
P 脉冲拨号
P 指令选择拨号为脉冲式拨号(即转盘式拨号)
T 在复频式拨号
T 指令选择拨号方式为复频式拨号(接键式拨号)
R 在拨号後处於Answer mode
R 指令使Modem在拨号以後进入Answer mode
原来 D 指令使 MODEM 在拨号以後进入 Originate mode,但是
有些Modem的频道只有一个频道,不论拨号或回答皆
只有Originate mode,所以如此种Modem连线即只有用
Answer mode ,在拨号时加入 R 指令,可以使Modem在拨号以
後进入Answer mode.
语法:ATRDT3910324(CR)
W 拨号前等待拨号音
W 指令使Modem在拨号前等待号音,其等待时间由S7来决定.
语法:ATDT3210324W123(CR)
Modem 在拨123数字之前会先等待拨号音,在等到了拨号音
以後才继续拨123,不然会送出"NO DIALTONE",表示等不到拨号音.
@ 拨号前等待静音
@指令使Modme在拨号以後,开始等待回铃声,在侦测到回
铃声以後,再等5秒钟的静音,然後再继续执行指令,等待
回铃声的时间由S7来决定
语法:ATDT30221234@123(CR)
Modem在拨号302123以後,等待回铃声,在侦测到回铃声
以後,再等5秒钟的静音,侦测等5秒钟的静音以後再继续
拨号123.
! 闪动
!指令使Modem断线0.5秒,然後再继续拨号
; 拨号後回到指令状态
; 指令使Modem在拨完电话号码以後回到指令状态,继续接
受下一个指令.
S 拨存在记忆中的电话号码
S 指令和拨号指令一起用,使Modem拨上次由&Z指令存起来
的电话号码
语法:ATDS(CR)
.
主要S暂存器摘要:
暂存器 出厂设定值 范 围 单位 功能
--------------------------------------------------------
S0 0 0-255 RING 设定铃响次数
回应电话
S1 0 0-255 RING 计算铃响次数
S2 43 0-127 ASCII ESC code
S3 13 0-127 ASCII 输入字元
(Carriage
Return)
S4 10 0-127 ASCII 跳行字元
S5 8 0-127 ASCII 退回字元
(Backspace)
S6 2 0-255 秒 等侯拨号音时间
S7 30 1-60 秒 拨号後等待信时
间
S8 2 0-255 秒 逗号暂停时间
S9 6 0-255 0.1秒 信号侦测反应
时间
S10 14 0-255 0.1秒 信号消失至挂
断电话反应时
间
S11 保 留
S12 50 20-255 0.02秒 ESC code前後
S13 保 留
S14至S27 Modem内部状态设定
.
回应码
AT指令相容Modem在执行完指令以後会回应一个码,告诉
使用者执行的结果,使用者也只有在收到Modem的回应以後才
能继续下达下一个指令,或者继续下一步的动作,所以回应码
也是指使使用者下一步要如何进行的指标,如CONNECT及
CONNECT 1200就可以告欣使用者须在Modem是在300BPS或者
1200BPS传输速度,使用者必须依照此指示送出资料,不然资
料传输会发生错误.
回应码摘要:
英 文 代号 意义
-----------------------------------------------------
OK 0 指令执行无误
CONNECT 1 X1状态下表示两台Modem连线成功
X2,X3.X4状态下,表示两台
MODEM连线成功,而且速度为300BPS
RING 2 铃声进来
NO CARRIER 3 两台 MODEM 连线失败
ERROR 4 指令错误或指令行太长超过40个字
CONNECT 1200 5 两台 MODEM 连线成功,而且速
度为1200BPS
NO DIALTONE 6 未侦测到拨号音
BUSY 7 电话线忙碌
NO ANSWER 8 在 @ 指令下, MODEM 在侦测到
回铃声以後未侦测到5秒钟的静
音
CONNECT 2400 10 两台 MODEM 2400BPS连线成功
******** 以上各暂存器及各种初始值皆以尉台公司出品********
之数据机为样本其它厂牌请参考该牌数据机之
技术手册或操作手册
--------------------编程问答-------------------- 还有人开发这个路由猫呀!!是不是那个德国设备?为了省电话费?最后怎么开发也不如呼叫中心的一个小手指头。
网络电话比这个省钱多了。 --------------------编程问答-------------------- 电话语音系统?
开发简单,关键是硬件,你可以网上看看哪家的便宜些 --------------------编程问答-------------------- 强大
--------------------编程问答-------------------- 给你做整个项目差不多 up --------------------编程问答--------------------
^_^ 用ADC做解码器... --------------------编程问答-------------------- bangding帮顶
补充:.NET技术 , C#