SIP-сервер не распознает наш ACK для сообщения 200 OK - PullRequest
1 голос
/ 19 февраля 2020

У нас есть некоторые проблемы в SIP-транке c, когда наш SIP-сервер напрямую общается с SIP-серверами разных провайдеров. Один из этих серверов на другой стороне не распознает ACK для сообщения 200 OK. Другой сервер продолжает повторять сообщение 200 OK.

Я просмотрел все поля заголовка и сравнил его со спецификацией SIP и примерами, но не имею понятия, почему другая сторона не принимает наш ACK.

Наше начальное приглашение :

INVITE sip:+491234567@200.200.200.200 SIP/2.0
Via: SIP/2.0/TCP 100.100.100.100:5060;branch=z9hG4bKDGT5EGVPVDE4I146
From: <sip:+4987654321@100.100.100.100:5060;user=phone>;tag=C8UF20CAKNLTLJ18
To: <sip:+491234567@200.200.200.200:5060;user=phone>
Call-ID: E4COR3MNVB8AK908
CSeq: 1 INVITE
Contact: <sip:100.100.100.100:5060>
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE
Content-Type: application/sdp
Content-Length: 206 

v=0
o=om 73848 1 IN IP4 100.100.100.100
s=call
c=IN IP4 100.100.100.100
t=0 0
m=audio 50012 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
a=sendrecv

Мы получаем 1xx и, наконец, 200 OK :

SIP/2.0 200 OK
Via: SIP/2.0/TCP 100.100.100.100:5060;branch=z9hG4bKDGT5EGVPVDE4I146
From: <sip:+4987654321@100.100.100.100:5060;user=phone>;tag=C8UF20CAKNLTLJ18
To: <sip:+491234567@200.200.200.200:5060;user=phone>;tag=SDuhhca99-6ossrg8l-CC-57
Call-ID: E4COR3MNVB8AK908
CSeq: 1 INVITE
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,PRACK,SUBSCRIBE,NOTIFY,UPDATE,MESSAGE,REFER
P-Asserted-Identity: <sip:491234567@100.100.100.100;user=phone>
Contact: <sip:200.200.200.200:5060;transport=tcp>
Content-Length: 223
Content-Type: application/sdp

v=0
o=HuaweiSoftX3000 27670846 27670848 IN IP4 200.200.200.200
s=Sip Call
c=IN IP4 200.200.200.200
t=0 0
m=audio 22978 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=ptime:20
a=fmtp:101 0-15

затем мы отвечаем с помощью ACK :

ACK sip:200.200.200.200:5060;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 100.100.100.100:5060;branch=z9hG4bKTRLT5A2MP96ST762
From: <sip:+4987654321@100.100.100.100:5060;user=phone>;tag=C8UF20CAKNLTLJ18
To: <sip:+491234567@200.200.200.200:5060;user=phone>;tag=SDuhhca99-6ossrg8l-CC-57
Call-ID: E4COR3MNVB8AK908
CSeq: 1 ACK
Contact: <sip:100.100.100.100:5060>
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE
Content-Length: 0

Затем сервер повторно отправляет 200 OK в соответствии со спецификацией таймера SIP.

Может быть, кто-то может помочь здесь.

...