在最近对接Avaya PBX的sip trunk的时候发现,在通话过程经常会断线。
引起此问题的原因是Avaya sip trunk支持 RFC4028 中的会话刷新时间。在建立起正常通话后,Avaya在规定时间将会发送Reinvite消息,如果没有收到200 ok消息,则过段时间将会挂机。
返回正常的200 ok消息(需要携带原来的SDP信息)后,问题解决,不需要返回180 ring或183消息。
INVITE sip:510000@172.28.19.24 SIP/2.0
From: "Chen" ;tag=0764f537aade51f8a3556b1b9900
To:
Call-ID: 0764f537aade51f9a3556b1b9900
CSeq: 1 INVITE
Max-Forwards: 71
Via: SIP/2.0/TCP 192.168.160.229;branch=z9hG4bK0764f537aade51faa3556b1b9900
Supported: 100rel,histinfo,join,replaces,sdp-anat,timer
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,SUBSCRIBE,NOTIFY,REFER,INFO,PRACK,PUBLISH,UPDATE
User-Agent: Avaya CM/R016x.03.0.124.0
Contact: "Chen"
Route:
Alert-Info: ;avaya-cm-alert-type=external
History-Info: ;index=1
History-Info: "510000" ;index=1.1
Min-SE: 180
P-Asserted-Identity: "Chen"
Record-Route:
Session-Expires: 180;refresher=uac
Av-Global-Session-ID: 00764f53-7aad-4501-b7a3-556b1b990000
Content-Type: application/sdp
Content-Length: 273
v=0
o=- 1450079262 1 IN IP4 192.168.160.229
s=-
c=IN IP4 192.168.160.212
b=AS:64
t=0 0
a=avf:avc=n prio=n
a=csup:avf-v0
m=audio 10002 RTP/AVP 0 18 101
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=ptime:20
SIP/2.0 200 OK
Via: SIP/2.0/TCP 192.168.160.229;branch=z9hG4bK802a41897bade5126a4556b1b9900
From: "Chen" ;tag=806ecd547bade511aa4556b1b9900
To: ;tag=2096
Call-ID: 806ecd547bade511ba4556b1b9900
CSeq: 2 INVITE
Contact:
Content-Type: application/sdp
User-Agent: eXosip/4.0.0
Content-Length: 188
v=0
o=vxisip 1 1 IN IP4 172.28.19.24
s=##vxisip 1.0
c=IN IP4 172.28.19.24
t=0 0
m=audio 30002 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15