具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例磁石话机与普通话机在使用上的主要区别如下:
磁石话机没有摘机、挂机信号,即只有空闲和振铃(主叫摇铃或被叫振铃)两个状态。磁石话机的磁石话音接口电路对主叫摇铃和被叫振铃动作给出的指示是一样的,没有做区分主叫和被叫。磁石话音接口的振铃信号的长短是人为控制的,即完全依赖人摇铃时间的长短。
本发明实施例基于Asterisk的磁石话机通信方法及装置,考虑磁石话机没有摘机和挂机信号,因此将自动产生摘机和挂机动作及其对应的信令,同时可以根据磁石话音接口状态以及信令来区分主叫和被叫,结合Asterisk的处理机制完成音频信道的建立和释放。在Asterisk中将磁石话音接口看作FXS接口(用户话机接口),将其配置为摘机呼叫远端模式(无须拨号),且路由固定,某一条路由只连接两部磁石话机,并完成这两部话机的互通。
如图1所示,本发明实施例提供一种基于Asterisk的磁石话机通信方法,包括:
步骤11、当磁石处理单元检测到其连接的磁石话机产生摇铃信号时,向Asterisk单元发送摘机信令。
步骤12、所述Asterisk单元根据所述磁石话机的路由信息向与对端磁石话机连接的对端磁石处理单元发送振铃信令。
步骤13、所述对端磁石处理单元控制对端磁石话机振铃,以及向所述Asterisk单元发送摘机信令。
步骤14、所述Asterisk单元建立所述磁石话机与所述对端磁石话机之间的通信连接。
本领域技术人员可以理解,磁石处理单元与对端磁石话机中所述的对端是一个相对概念,并不对磁石话机本身做出限制。
由上述本发明实施例提供的技术方案可以看出,自动产生摘机和挂机动作及其对应的信令,结合Asterisk的处理机制完成音频信道的建立和释放,使得磁石话机方便的与Asterisk系统相结合,实现将传统磁石话音业务接入IP网络中,完成磁石电话之间通过IP网络的点对点互通。
如图2所示,磁石话音接口与Asterisk通过TDMoE(Time Division Multiplexing overEthernet)方式互联,其中涉及的磁石话音接口的硬件电路部分,在此不作赘述。
本领域技术人员可以理解,磁石话机具有磁石话音接口电路,磁石处理单元检测磁石话音接口,一旦某一磁石话音接口产生摇铃信号时,则对应的磁石处理单元模拟摘机信号并自动向Asterisk单元发送摘机信令。
本领域技术人员可以理解,磁石处理单元发送的摘机信令可以携带磁石处理单元或者磁石话音接口的地址或者标识,这样,Asterisk单元识别出发送摘机信令的磁石处理单元。示例性的,每一个磁石话音接口的相关信息(信令,语音)通过固定的帧格式(包含接口编号和地址)发送到Asterisk。
同时,无论摇铃信号持续时间长短,可以将摘机信令保持一段时间,以保证Asterisk单元正确稳定的接收到摘机信令。对端磁石处理单元接收到振铃信令后,对端磁石处理单元控制对端磁石话机振铃,振铃的动作要持续一段时间(如1-2秒),然后自动产生被叫磁石话音接口的摘机信令。为了保证振铃时间,在检测到振铃信令后要延迟一段时间再发送摘机信令,来完成链路的建立。
本发明实施例基于Asterisk的磁石话机通信方法,还可以包括:
所述Asterisk单元获取路由信息,所述路由信息包括磁石处理单元与对端磁石处理单元的对应关系;或者所述路由信息包括磁石处理单元与对端磁石处理单元的对应关系,磁石处理单元与磁石话音接口的对应关系,以及磁石话音接口与对端磁石话音接口的对应关系。示例性的,路由信息表示了Asterisk的拨号规则,其保存在Asterisk的配置路径下,可以是文本格式的文件。
可选的,所述Asterisk单元具有存储单元,存储路由信息,因此,Asterisk单元可以从本地获取路由信息。示例性的,存储器可以是通用的存储介质(flash,磁盘等均可,不受限制)。
本发明实施例基于Asterisk的磁石话机通信方法中,路由信息固定,某一条路由只连接两部磁石话机,并完成这两部话机的点对点互通。
可选的,本发明实施例基于Asterisk的磁石话机通信方法中,每个磁石处理单元连接一部磁石话机,检测到磁石话机产生的摇铃信号。
可见,执行上述步骤11-14完成一次完整的呼叫过程,而且此通话状态(信道)会一直保持,直到下一次重新发起新的呼叫。
本发明实施例基于Asterisk的磁石话机通信方法,还可以包括:
在所述磁石话机与所述对端磁石话机之间通信连接状态下,所述磁石处理单元检测到其连接的磁石话机产生摇铃信号,所述磁石处理单元向所述Asterisk单元发送挂机信令。
所述Asterisk单元拆除所述磁石话机与所述对端磁石话机之间已经建立的通信连接,并向所述对端磁石处理单元发送挂机信令。
所述磁石处理单元向Asterisk单元发送摘机信令,以使所述Asterisk单元重新建立所述磁石话机与所述对端磁石话机之间的通信连接。
或者,所述对端磁石处理单元检测到其连接的对端磁石话机产生摇铃信时,所述对端磁石处理单元向所述Asterisk单元发送挂机信令。
所述Asterisk单元拆除所述磁石话机与所述对端磁石话机之间已经建立的通信连接,并向所述磁石处理单元发送挂机信令。
所述对端磁石处理单元向Asterisk单元发送摘机信令,以使所述Asterisk单元重新建立所述磁石话机与所述对端磁石话机之间的通信连接。
本领域技术人员可以理解,当链路处在通信连接状态下时,任意一方磁石处理单元如果检测到话路语音接口有摇铃信号,则表明发起了一次新的呼叫,则这一方作为主叫侧,会主动发送挂机信令。
可以将挂机信令保持一段时间,以保证对端磁石处理单元正确稳定的接收到挂机信令,完成线路释放。之后,磁石处理模块将再次模拟产生摘机信号,进行新一轮的呼叫过程(同步骤11-14)。
本领域技术人员可以理解,当链路建立连接后,正在处于通话状态下,当Asterisk检测到某一磁石话音接口产生挂机信令时,则Asterisk将本链路拆除并释放,对端磁石电话则会听到忙音(表明对端已经挂机),并会收到拆线的信令。
可见,除了设备上电的初始状态外,每次呼叫流程均需要先拆除链路,再重新建立链路,并保持链路直到下一次发起新的呼叫。
本发明实施例基于Asterisk的磁石话机通信方法,Asterisk不支持磁石话音以及相关信令,所述Asterisk单元与所述磁石处理单元还用于定义空闲信令,摘机信令以及振铃信令,磁石话音接口包括空闲状态、摘机状态、挂机状态、被叫状态、主叫状态以及通话状态,具体的:
将磁石的信令转换为Asterisk可以识别的FXO_KS信令,而Asterisk的FXO_KS信令由4bit组成,分别定义了空闲信令(0101),摘机信令(0000),振铃信令(1111)三种信令状态。
当磁石话音接口为空闲状态,磁石处理单元检测到其连接的磁石话机产生摇铃信号时,从空闲状态进入主叫状态;
主叫状态下,磁石处理单元发送摘机信令给Asterisk单元,等待Asterisk单元建立信道后,从主叫状态进入通话状态;
当磁石话音接口为空闲状态,磁石处理模单元接收到Asterisk单元发送的振铃信令时,从空闲状态进入被叫状态;
被叫状态下,当磁石处理单元持续接收到Asterisk单元发送的振铃信令时,从被叫状态进入摘机状态;
Asterisk单元建立信道后,磁石话音接口从摘机状态进入通话状态;
通话状态下,当磁石处理单元检测到其连接的磁石话机产生摇铃信号时,从通话状态进入挂机状态;
挂机状态下,磁石处理单元发送挂机信令给Asterisk单元,从挂机状态进入空闲状态;
通话状态下,当磁石处理单元接收到Asterisk单元发送的挂机信令后,从通话状态进入空闲状态。
其中,挂机信令等同于空闲信令。
如图2所示,本发明实施例提供一种基于Asterisk的磁石话机通信装置,包括磁石处理单元21、Asterisk单元22以及对端磁石处理单元23:
磁石处理单元21,用于检测到其连接的磁石话机产生摇铃信号时,向Asterisk单元22发送摘机信令。
Asterisk单元22,用于接收到磁石处理单元21发送的摘机信令后,根据所述磁石话机的路由信息向与对端磁石话机连接的所述对端磁石处理单元23发送振铃信令,以及用于接收到对端磁石处理单23元发送的摘机信令后,建立所述磁石话机与所述对端磁石话机之间的通信连接.
对端磁石处理单元23,用于控制对端磁石话机振铃,以及向Asterisk单元22发送摘机信令。
由上述本发明实施例提供的技术方案可以看出,自动产生摘机和挂机动作及其对应的信令,结合Asterisk的处理机制完成音频信道的建立和释放,使得磁石话机方便的与Asterisk系统相结合,实现将传统磁石话音业务接入IP网络中,完成磁石电话之间通过IP网络的点对点互通。
具体而言,所述磁石话机与所述对端磁石话机之间通信连接状态下,所述磁石处理单元,还用于检测到其连接的磁石话机产生摇铃信号,所述磁石处理单元向所述Asterisk单元发送挂机信令;
所述Asterisk单元,还用于拆除所述磁石话机与所述对端磁石话机之间已经建立的通信连接,并向所述对端磁石处理单元发送挂机信令;
所述磁石处理单元,还用向Asterisk单元发送摘机信令,以使所述Asterisk单元重新建立所述磁石话机与所述对端磁石话机之间的通信连接。
或者,所述对端磁石处理单元检测到其连接的对端磁石话机产生摇铃信时,所述对端磁石处理单元,还用于向所述Asterisk单元发送挂机信令;
所述Asterisk单元,还用于拆除所述磁石话机与所述对端磁石话机之间已经建立的通信连接,并向所述磁石处理单元发送挂机信令;
所述对端磁石处理单元,还用于向Asterisk单元发送摘机信令,以使所述Asterisk单元重新建立所述磁石话机与所述对端磁石话机之间的通信连接。
具体而言,磁石处理单元与磁石话机通过磁石话音接口连接,所述Asterisk单元,还用于获取路由信息,所述路由信息包括磁石处理单元与对端磁石处理单元的对应关系;或者所述路由信息包括磁石处理单元与对端磁石处理单元的对应关系,磁石处理单元与磁石话音接口的对应关系,以及磁石话音接口与对端磁石话音接口的对应关系。
具体而言,所述Asterisk单元与所述磁石处理单元还用于定义空闲信令,摘机信令以及振铃信令,磁石话音接口包括空闲状态、摘机状态、挂机状态、被叫状态、主叫状态以及通话状态,具体的:
将磁石的信令转换为Asterisk可以识别的FXO_KS信令,而Asterisk的FXO_KS信令由4bit组成,分别定义了空闲信令(0101),摘机信令(0000),振铃信令(1111)三种信令状态。
当磁石话音接口为空闲状态,磁石处理单元检测到其连接的磁石话机产生摇铃信号时,从空闲状态进入主叫状态;
主叫状态下,磁石处理单元发送摘机信令给Asterisk单元,等待Asterisk单元建立信道后,从主叫状态进入通话状态;
当磁石话音接口为空闲状态,磁石处理模单元接收到Asterisk单元发送的振铃信令时,从空闲状态进入被叫状态;
被叫状态下,当磁石处理单元持续接收到Asterisk单元发送的振铃信令时,从被叫状态进入摘机状态;
Asterisk单元建立信道后,磁石话音接口从摘机状态进入通话状态;
通话状态下,当磁石处理单元检测到其连接的磁石话机产生摇铃信号时,从通话状态进入挂机状态;
挂机状态下,磁石处理单元发送挂机信令给Asterisk单元,从挂机状态进入空闲状态;
通话状态下,当磁石处理单元接收到Asterisk单元发送的挂机信令后,从通话状态进入空闲状态。
其中,挂机信令等同于空闲信令。
本发明实施例的基于Asterisk的磁石话机通信方法及装置,在磁石话音接口状态现有的空闲、摇铃、振铃3种状态之外,实现了摘机、挂机、通话状态,即空闲、摘机、挂机、被叫、主叫、通话6种状态,同时,可以根据磁石话音接口状态以及信令(空闲信令,摘机信令,振铃信令)来区分主叫和被叫,参见如图3所示状态转换图,具体说明磁石话音接口状态以及信令:
31、空闲到主叫
当磁石处理模块检测到磁石话机产生摇铃动作后,且没有收到振铃信令,进入主叫状态。
32、主叫到通话
磁石处理模块将模拟产生摘机信令并发送给Asterisk,同时要将此摘机保持一段时间,保证Asterisk能稳定的接收到摘机信令,磁石话机(主叫)此时等待Asterisk信道建立,然后进入通话状态。
33、空闲到被叫
当磁石处理模块收到振铃信令,且没有检测到磁石话机产生摇铃动作后,进入被叫状态。
34、被叫到摘机
当磁石处理模块进入被叫状态后,且持续接收到振铃信令,则模拟产生摘机信号,并将此信号发送给Asterisk,通知Asterisk被叫话路已经摘机。
35、摘机到通话
将Asterisk中对应的磁石话音接口的参数配置为摘机自动呼叫模式,当Asterisk检测到被叫磁石话机摘机后将根据路由建立音频信道,进入通话状态。
36、通话到挂机
当磁石处理模块在通话状态下,监测到磁石话音接口产生摇铃信号时,进入挂机状态。
37、挂机到空闲
磁石处理模块将模拟产生挂机信令,并将此挂机信令发送给Asterisk,通知Asterisk某一话路已经挂机,结束本次通话,进入空闲状态。
38、通话到空闲
当处在通话状态的磁石处理模块接收到Asterisk发送的对端拆线(挂机)信令后,则向Asterisk发送挂机信令,然后进入到空闲状态。
可见,摘机状态对应的信令:摘机信令。
挂机状态对应的信令:挂机信令。
通话状态对应的信令:摘机信令。
被叫状态对应的信令:接收振铃信令,发送摘机信令。
主叫状态对应的信令:发送摘机信令,接收空闲(挂机)信令。
空闲状态对应的信令:接收空闲(挂机)信令,发送空闲(挂机)信令。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。