Asterisk概述和代码分析(2)

3 Asterisk通道模型与呼叫流程 3.1什么是asterisk通道?

Asterisk通道是指通过asterisk建立起来的一路通话。这类通话都包含一个incoming连接和一个outbound连接。每个电话都是通过一种通道驱动程序建立起来的,比如SIP,ZAP,IAX2等等。每一类的通道驱动,都拥有自己私有的通道数据结构,这些私有的结构从属于一个通用的Asterisk通道数据结构中,具体定义在channel.h和channel.c中。

3.2基本的呼叫流程

Asterisk PBX呼叫流程如图2所示。

(1)通过Asterisk的一个电话呼叫在一个通道驱动接口上到达,如SIP Socket。

(2)通道驱动在该通道上创建一个PBX通道并启动一个pbx线程

(3)拨号方案被执行,拨号方案在一些地方通过dial应用(查看app_dial.c)

强制Asterisk创建一个呼出呼叫,一旦呼出,Asterisk会有以下两个动作将发生。

(1)Dial创建一个呼出的PBX通道并请求一种通道驱动创建一个呼叫

(2)当呼叫被应答时,Asterisk桥接媒体流,于是在第一个通道上的主叫可以和在第

二个通道也就是呼出通道上的被叫通话。

Asterisk概述和代码分析


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwjzgs.html