首页 > SIP码流中,如何判断会话中后续请求来自主叫还是被叫?

SIP码流中,如何判断会话中后续请求来自主叫还是被叫?

初始请求中有PAI头可以看出,但是对于一些后续的请求和消息,没有PAI头的情况下,如何判断是请求来自主叫还是被叫?
eg:

ACK sip:460025343017323@10.184.177.196:5060;transport=udp;Dpt=8ef2_16;CxtId=3;TRC=ffffffff-ffffffff;srti=s1_3 SIP/2.0

Via: SIP/2.0/UDP 10.189.33.110:5060;branch=z9hG4bK-d8754z-b9d94f57ef475855-1---d8754z-;rport

Max-Forwards: 70

Route: <sip:10.189.33.39;lr;Dpt=8044_116;Role=3;CxtId=3;spln=S;X-HwB2bUaCookie=6829;TRC=ffffffff-ffffffff>

Contact: <sip:10.189.33.110:5060>

To: <sip:+8618334340245@10.189.33.21;transport=udp;user=phone>;tag=b897f767eb.rqoryuorxxorzw-vqwq

From: <tel:18334340363>;tag=2ce0721ceb.rqoryzottorrq-vqwq

Call-ID: OTA2NjA4Mzg3NGFkMTQ4Y2I2N2NjZmFiNDU0N2FiNWQ.

CSeq: 1 ACK

Content-Length: 0
BYE sip:10.189.33.110:5060 SIP/2.0

Via: SIP/2.0/UDP 10.189.33.39:5060;branch=z9hG4bKpdp63ynnny45mn4gnno1dft1n;Role=3;Dpt=8044_16;TRC=ffffffff-ffffffff

Via: SIP/2.0/UDP 10.184.177.196:5060;branch=z9hG4bK-524287-1---a41824247e20f52d;rport=5060

Max-Forwards: 69

To: <sip:+8618334340245@10.189.33.21;transport=udp;user=phone>;tag=bd54b718eb.rqoryzottorrq-vqwq

From: <tel:18334340363>;tag=0005c767eb.rqoryuorxxorzw-vqwq

Call-ID: HIWzU5zqboyz2mk7GUvIuA..

CSeq: 5 BYE

P-Charging-Vector: icid-value=ABD211C3ECF1520150316192740;term-ioi=zj.chinamobile.com;pdngw=0;eps-info="eps-item=1;eps-sig=no;ecid=10C85711;flow-id=({1,1},{1,2})"

P-Access-Network-Info: 3GPP-E-UTRAN;utran-cell-id-3gpp=46000685E6093A01;"sbc-domain=sbc01.0571.zj.chinamobile.com";"ue-ip=[2409:8895:8200:1A:1:1:9179:8D2B]";"ue-port=8900";network-provided

Content-Length: 0

不是看RDP中的caller/callee吗


对于B2BUA工作方式的AS来说,可以通过callid查看,相同一侧的会话是有相同的callid,主叫可以从初始的INVITE请求中看出


在callid和to tag相同的情况下,判断是在同一session的消息,那么初始invite消息中from是主叫,to是被叫,而且这个不会变,通会话内的消息from永远指主叫,to永远只被叫;如果是会话内的其他方法,比如message,什么的,就看不出来了。

【热门文章】
【热门文章】