1. 代码简介:
Chan_sip.c是SIP协议(RFC3261)的实现代码,它没有实现对S/MIME, TCP and TLS的支持,对应的配置文件是sip.conf,代码所在的分组是:通道驱动类(channel_drivers)。
SIP通道处理各种类型的Sip sessions和dialogs(注意:并不是所有的dialogs都是“电话呼叫”),主要包括:
* - Incoming calls that will be sent to the PBX core
* - Outgoing calls, generated by the PBX
* - SIP subscriptions and notifications of states and voicemail messages
* - SIP registrations, both inbound and outbound
* - SIP peer management (peerpoke, OPTIONS)
* - SIP text messages
在SIP通道中,通常会有一列活跃的SIP dialogs,CLI下的命令sip show channels可以显示出大部分dialogs,除了订阅类的(它们可以用命令sip show subscriptions显示出来)。
CLI命令sip show channels的示例:
debian120*CLI> sip show channels
Peer User/ANR Call ID Seq (Tx/Rx) Form Hold Last Message
211.150.115.116 0132364499 51e8b037316 00102/00000 alaw No Init: INVITE
202.108.12.94 0000123456 76ad6e55-e0 00101/00001 alaw No Rx: ACK
211.150.115.116 0216252766 29df5b95633 00102/00000 alaw No Init: INVITE
202.108.12.94 0000123456 76ad6e55 -2c 00101/00001 alaw No Rx: ACK
211.150.115.116 0137587006 720c 5ecb32e 00102/00000 alaw No Tx : ACK
202.108.12.94 0000123456 76ad6e55-bf 00101/00001 alaw No Rx: ACK
211.150.115.116 0138797950 6d 96c 21a 580 00102/00000 alaw No Tx : ACK
202.108.12.94 0000123456 76ad6e55-a5 00101/00001 alaw No Rx: ACK
211.150.115.116 0578708822 617679d2699 00102/00000 alaw No Tx : ACK
202.108.12.94 0000123456 76ad6e55-20 00101/00001 alaw No Rx: ACK
211.150.115.116 0512534057 6049a 06e77d 00102/00000 alaw

本文深入分析Asterisk的chan_sip模块,探讨SIP协议实现,包括SIP会话处理、dialog管理和SIP通道功能,如通话、订阅、注册及消息处理。通过CLI命令展示SIP channels状态,揭示SIP_PVT结构在维护对话链中的作用及其关键字段。
最低0.47元/天 解锁文章
957

被折叠的 条评论
为什么被折叠?



