如下表格记录了一个日志中,在中国电信网络下多方语音通话 发起方的 SIP消息交互记录,省略部分SIP消息,记录下和多方通话的重要SIP消息。
progress1:发起方A通过拨号盘呼叫B
此操作建立A和B之间的通话,网络会向终端分配QCI=1的专有承载。
同时此专有承载包含四个pkt_filter_id,过滤A和B之间的音频流收发的两个udp流。
后续A和B之间的音频流通过此专有承载收发。
时间 | SIP MESSAGE/EPS承载操作 | 方向 | 备注 |
---|---|---|---|
发起方A通过拨号盘呼叫B | |||
09:20:04.862013 | IMS_SIP_INVITE/INFORMAL_RESPONSE | UE_TO_NETWORK | 发起方A通过拨号盘拨打B,建立起 AB之间的会话,记为dialogAB |
09:20:04.997003 | Activate dedicated EPS bearer context | 建立qci = 1的语音专载,同时tft_op_code = 1携带Create new TFT建立pkt_filter_id 0,1,2,3 用来过滤dialogAB的语音流,对应两个UDP流的四个上下行数据流。 | |
09:20:33.567023 | IMS_SIP_INVITE/OK | NETWORK_TO_UE | B接听电话,成功建立dialogAB |
Activate dedicated EPS bearer context建立了eps_bearer_id 7的专载。
在EPS建立之前,RRCConnectionReconfiguration消息中drb-ToAddModeList中将eps_bearer_id 7和drb 1对应。所以此专载从drb1 进行收发。
progress2:发起方A通过拨号盘添加C
因为默认只有一个通话active,所以UI界面添加通话C的操作,先触发modem挂起A和B之间的通话。然后modem再发起A到C之间的通话。
这个操作完成后,存在两个会话,一个是挂起的和B之间的通话。一个是active态的和C之间的通话。
时间 | SIP MESSAGE/EPS承载操作 | 方向 | 备注 |
---|---|---|---|
A在拨号盘点击添加按钮,添加C电话号码 | |||
09:20:32.862239 | IMS_SIP_INVITE/INFORMAL_RESPONSE | UE_TO_NETWORK | 挂起会话dialogAB。(通过INVITE消息中参数a=sendonly,修改为A方仅发送,B方只收不发。) |
09:20:33.567023 | IMS_SIP_INVITE/OK | NETWORK_TO_UE | B回复OK,成功挂起B |
09:20:33.887260 | IMS_SIP_INVITE/INFORMAL_RESPONSE | UE_TO_NETWORK | 发送到C的INVITE,发起A和C之间的会话,记为dialogAC |
09:20:34.170012 | Modify EPS bearer context | 在qci 1的语音专载,同时tft_op_code = 3,添加pkt_filter_id 4,5,6,7 ,用来过滤dialogAC的语音流,对应两个UDP流的四个上下行数据流。 | |
09:20:39.614317 | IMS_SIP_INVITE/OK | NETWORK_TO_UE | C接听电话,成功建立dialogAC |
拨号盘点击合并建立包含三方的会议电话
挂起和C之间通话
类似呼叫C之前先挂起和B之间的通话,合并通话前,modem先挂起和C之间的通话。
这个操作结束后和B、和C之间的通话都被挂起。
时间 | SIP MESSAGE/EPS承载操作 | 方向 | 备注 |
---|---|---|---|
拨号盘点击合并按钮建立三方通话,即包含三个参会人的会议电话 | |||
09:22:06.311181 | IMS_SIP_INVITE/INFORMAL_RESPONSE | UE_TO_NETWORK | 挂起会话dialogAC。(通过INVITE消息中参数a=sendonly,修改为A方仅发送,C方只收不发。) |
09:22:06.922030 | IMS_SIP_INVITE/OK | NETWORK_TO_UE | C回复OK,成功挂起C |
建立会议电话
先建立会议电话,此操作结束后,会议电话只包含A一方。同时有两个和B和C之间挂起的通话。
09:22:07.776192|IMS_SIP_NOTIFY 消息中 Content-Type: application/conference-info+xml。
时间 | SIP MESSAGE/EPS承载操作 | 方向 | 备注 |
---|---|---|---|
09:22:06.974234 | IMS_SIP_INVITE/INFORMAL_RESPONSE | UE_TO_NETWORK | 发起会议电话,参数to:sip:mmtel@conf-factory.ims.XXX,此会话记为dialogConf |
09:22:07.291004 | Modify EPS bearer context | 在qci 1的语音专载,同时tft_op_code = 3,添加pkt_filter_id 8,9,10,11 ,用来过滤dialogConf的语音流,对应两个UDP流的四个上下行数据流。 | |
09:22:07.694024 | IMS_SIP_INVITE/OK | NETWORK_TO_UE | 网络回复OK,成功建立dialogConf |
09:22:07.717010 | IMS_SIP_SUBSCRIBE | UE_TO_NETWORK | 注册针对电话会议的事件,参见EVENT头部。Event: conference |
09:22:07.776192 | IMS_SIP_NOTIFY | NETWORK_TO_UE | 网络下发和会议电话相关的NOTIFY消息,其中conference-info 字段中users节点目前只包含一个user节点,号码是A,status参数为connected |
09:22:07.776192 会议电话event: