Opened 2 years ago
Closed 2 years ago
#410 closed баг (invalid)
странный ответ SDP
| Reported by: | alx | Owned by: | alx |
|---|---|---|---|
| Priority: | средний | Milestone: | 2 очередь |
| Component: | any | Keywords: | |
| Cc: |
Description
Случайно ко мне попал дамп обмена SIP сообщениями при попытке вызова платы VE-02. Помимо прочих ошибок чужого оборудования, когда плата VE-02 отвечает "200 OK", в сообщении содержится ответ SDP, который выглядит как предложение - содержит все разрешенные PT, хотя должен был быть выбран один...
Вот их обмен:
12:11:52.941301 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 821)
192.168.0.233.5060 > 192.168.0.76.5060: SIP, length: 793
INVITE sip:1@192.168.0.76:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000026419139091345285060;rport
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
To: <sip:1@192.168.0.76:5060>
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, UPDATE
Contact: <sip:1@192.168.0.233:5060>
Max-Forwards: 70
Supported: 100rel, timer
User-Agent: DMR AIS R1.4[APP R3.42.087](Feb 24 2022)
Ais-Reach: group
Ais-Options: slot=1
Content-Type: Application/SDP
Content-Length: 254
v=0
o=KirisunAIS 5 5 IN IP4 192.168.0.233
s=DMRAISCall
c=IN IP4 192.168.0.233
t=0 0
m=audio 11018 RTP/AVP 100 0 8 101
a=rtpmap:100 DMR-AIS/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=floor
12:11:53.014902 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 678)
192.168.0.76.5060 > 192.168.0.233.5060: SIP, length: 650
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000026419139091345285060;rport=5060
Record-Route: <sip:192.168.0.76:5060;transport=udp;lr>
Require: 100rel
Contact: <sip:1@127.0.0.1:6060>
To: <sip:1@192.168.0.76:5060>;tag=285897759
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, NOTIFY, INFO, UPDATE, PRACK, SUBSCRIBE
Server: repro 1.12.0
Supported: replaces, timer, 100rel
User-Agent: eXosip/5.2.1
Allow-Events: conference
RSeq: 100
P-Asserted-Identity: <sip:1@192.168.0.76>
Content-Length: 0
12:11:53.518803 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 678)
192.168.0.76.5060 > 192.168.0.233.5060: SIP, length: 650
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000026419139091345285060;rport=5060
Record-Route: <sip:192.168.0.76:5060;transport=udp;lr>
Require: 100rel
Contact: <sip:1@127.0.0.1:6060>
To: <sip:1@192.168.0.76:5060>;tag=285897759
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, NOTIFY, INFO, UPDATE, PRACK, SUBSCRIBE
Server: repro 1.12.0
Supported: replaces, timer, 100rel
User-Agent: eXosip/5.2.1
Allow-Events: conference
RSeq: 100
P-Asserted-Identity: <sip:1@192.168.0.76>
Content-Length: 0
12:11:54.518727 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 678)
192.168.0.76.5060 > 192.168.0.233.5060: SIP, length: 650
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000026419139091345285060;rport=5060
Record-Route: <sip:192.168.0.76:5060;transport=udp;lr>
Require: 100rel
Contact: <sip:1@127.0.0.1:6060>
To: <sip:1@192.168.0.76:5060>;tag=285897759
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, NOTIFY, INFO, UPDATE, PRACK, SUBSCRIBE
Server: repro 1.12.0
Supported: replaces, timer, 100rel
User-Agent: eXosip/5.2.1
Allow-Events: conference
RSeq: 100
P-Asserted-Identity: <sip:1@192.168.0.76>
Content-Length: 0
12:11:56.518698 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 678)
192.168.0.76.5060 > 192.168.0.233.5060: SIP, length: 650
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000026419139091345285060;rport=5060
Record-Route: <sip:192.168.0.76:5060;transport=udp;lr>
Require: 100rel
Contact: <sip:1@127.0.0.1:6060>
To: <sip:1@192.168.0.76:5060>;tag=285897759
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, NOTIFY, INFO, UPDATE, PRACK, SUBSCRIBE
Server: repro 1.12.0
Supported: replaces, timer, 100rel
User-Agent: eXosip/5.2.1
Allow-Events: conference
RSeq: 100
P-Asserted-Identity: <sip:1@192.168.0.76>
Content-Length: 0
12:11:57.735086 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1175)
192.168.0.76.5060 > 192.168.0.233.5060: SIP, length: 1147
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000026419139091345285060;rport=5060
Record-Route: <sip:192.168.0.76:5060;transport=udp;lr>
Contact: <sip:1@127.0.0.1:6060>
To: <sip:1@192.168.0.76:5060>;tag=285897759
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, NOTIFY, INFO, UPDATE, PRACK, SUBSCRIBE
Content-Type: application/sdp
Server: repro 1.12.0
Supported: replaces, timer, 100rel
User-Agent: eXosip/5.2.1
Allow-Events: conference
P-Asserted-Identity: <sip:1@192.168.0.76>
X-Endpoint-Type: FS01
Content-Length: 474
v=0
o=gateway 0 3 IN IP4 192.168.0.76
s=conversation
c=IN IP4 192.168.0.76
t=0 0
m=audio 10508 RTP/AVP 8 0 4 9 18 100 96 99 97 101 13 98
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:4 G723/8000
a=rtpmap:9 G722/8000
a=rtpmap:18 G729/8000
a=rtpmap:100 G726-40/8000
a=rtpmap:96 G726-32/8000
a=rtpmap:99 G726-24/8000
a=rtpmap:97 G726-16/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:13 CN/8000
a=rtpmap:98 PCMA/8000
a=gpmd:98 vbd=yes
12:11:57.738373 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 436)
192.168.0.233.5060 > 192.168.0.76.5060: SIP, length: 408
ACK sip:1@192.168.0.76:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000026859139091345285060;rport
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
To: <sip:1@192.168.0.76:5060>;tag=285897759
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 3 ACK
Contact: <sip:1@192.168.0.233:5060>
Max-Forwards: 70
User-Agent: DMR AIS R1.4[APP R3.42.087](Feb 24 2022)
Content-Length: 0
12:11:59.884934 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1175)
192.168.0.76.5060 > 192.168.0.233.5060: SIP, length: 1147
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000026419139091345285060;rport=5060
Record-Route: <sip:192.168.0.76:5060;transport=udp;lr>
Contact: <sip:1@127.0.0.1:6060>
To: <sip:1@192.168.0.76:5060>;tag=285897759
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, NOTIFY, INFO, UPDATE, PRACK, SUBSCRIBE
Content-Type: application/sdp
Server: repro 1.12.0
Supported: replaces, timer, 100rel
User-Agent: eXosip/5.2.1
Allow-Events: conference
P-Asserted-Identity: <sip:1@192.168.0.76>
X-Endpoint-Type: FS01
Content-Length: 474
v=0
o=gateway 0 3 IN IP4 192.168.0.76
s=conversation
c=IN IP4 192.168.0.76
t=0 0
m=audio 10508 RTP/AVP 8 0 4 9 18 100 96 99 97 101 13 98
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:4 G723/8000
a=rtpmap:9 G722/8000
a=rtpmap:18 G729/8000
a=rtpmap:100 G726-40/8000
a=rtpmap:96 G726-32/8000
a=rtpmap:99 G726-24/8000
a=rtpmap:97 G726-16/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:13 CN/8000
a=rtpmap:98 PCMA/8000
a=gpmd:98 vbd=yes
12:12:01.883676 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1175)
192.168.0.76.5060 > 192.168.0.233.5060: SIP, length: 1147
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000026419139091345285060;rport=5060
Record-Route: <sip:192.168.0.76:5060;transport=udp;lr>
Contact: <sip:1@127.0.0.1:6060>
To: <sip:1@192.168.0.76:5060>;tag=285897759
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, NOTIFY, INFO, UPDATE, PRACK, SUBSCRIBE
Content-Type: application/sdp
Server: repro 1.12.0
Supported: replaces, timer, 100rel
User-Agent: eXosip/5.2.1
Allow-Events: conference
P-Asserted-Identity: <sip:1@192.168.0.76>
X-Endpoint-Type: FS01
Content-Length: 474
v=0
o=gateway 0 3 IN IP4 192.168.0.76
s=conversation
c=IN IP4 192.168.0.76
t=0 0
m=audio 10508 RTP/AVP 8 0 4 9 18 100 96 99 97 101 13 98
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:4 G723/8000
a=rtpmap:9 G722/8000
a=rtpmap:18 G729/8000
a=rtpmap:100 G726-40/8000
a=rtpmap:96 G726-32/8000
a=rtpmap:99 G726-24/8000
a=rtpmap:97 G726-16/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:13 CN/8000
a=rtpmap:98 PCMA/8000
a=gpmd:98 vbd=yes
12:12:04.883405 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1175)
192.168.0.76.5060 > 192.168.0.233.5060: SIP, length: 1147
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000026419139091345285060;rport=5060
Record-Route: <sip:192.168.0.76:5060;transport=udp;lr>
Contact: <sip:1@127.0.0.1:6060>
To: <sip:1@192.168.0.76:5060>;tag=285897759
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, NOTIFY, INFO, UPDATE, PRACK, SUBSCRIBE
Content-Type: application/sdp
Server: repro 1.12.0
Supported: replaces, timer, 100rel
User-Agent: eXosip/5.2.1
Allow-Events: conference
P-Asserted-Identity: <sip:1@192.168.0.76>
X-Endpoint-Type: FS01
Content-Length: 474
v=0
o=gateway 0 3 IN IP4 192.168.0.76
s=conversation
c=IN IP4 192.168.0.76
t=0 0
m=audio 10508 RTP/AVP 8 0 4 9 18 100 96 99 97 101 13 98
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:4 G723/8000
a=rtpmap:9 G722/8000
a=rtpmap:18 G729/8000
a=rtpmap:100 G726-40/8000
a=rtpmap:96 G726-32/8000
a=rtpmap:99 G726-24/8000
a=rtpmap:97 G726-16/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:13 CN/8000
a=rtpmap:98 PCMA/8000
a=gpmd:98 vbd=yes
12:12:09.883694 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 1175)
192.168.0.76.5060 > 192.168.0.233.5060: SIP, length: 1147
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000026419139091345285060;rport=5060
Record-Route: <sip:192.168.0.76:5060;transport=udp;lr>
Contact: <sip:1@127.0.0.1:6060>
To: <sip:1@192.168.0.76:5060>;tag=285897759
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, NOTIFY, INFO, UPDATE, PRACK, SUBSCRIBE
Content-Type: application/sdp
Server: repro 1.12.0
Supported: replaces, timer, 100rel
User-Agent: eXosip/5.2.1
Allow-Events: conference
P-Asserted-Identity: <sip:1@192.168.0.76>
X-Endpoint-Type: FS01
Content-Length: 474
v=0
o=gateway 0 3 IN IP4 192.168.0.76
s=conversation
c=IN IP4 192.168.0.76
t=0 0
m=audio 10508 RTP/AVP 8 0 4 9 18 100 96 99 97 101 13 98
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:4 G723/8000
a=rtpmap:9 G722/8000
a=rtpmap:18 G729/8000
a=rtpmap:100 G726-40/8000
a=rtpmap:96 G726-32/8000
a=rtpmap:99 G726-24/8000
a=rtpmap:97 G726-16/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:13 CN/8000
a=rtpmap:98 PCMA/8000
a=gpmd:98 vbd=yes
12:12:09.912533 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 434)
192.168.0.233.5060 > 192.168.0.76.5060: SIP, length: 406
BYE sip:192.168.0.76:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000028201239091345285060;rport
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
To: <sip:1@192.168.0.76:5060>;tag=285897759
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 4 BYE
Contact: <sip:1@192.168.0.233:5060>
Max-Forwards: 70
User-Agent: DMR AIS R1.4[APP R3.42.087](Feb 24 2022)
Content-Length: 0
12:12:09.957063 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 359)
192.168.0.76.5060 > 192.168.0.233.5060: SIP, length: 331
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.233:5060;branch=z9hG4bK5000028201239091345285060;rport=5060
To: <sip:1@192.168.0.76:5060>;tag=285897759
From: <sip:1@192.168.0.233:5060>;tag=1E900A8C0C4135000000
Call-ID: 50000377793@192.168.0.233:5060
CSeq: 4 BYE
Server: repro 1.12.0
User-Agent: eXosip/5.2.1
Content-Length: 0
Change History (9)
comment:1 by , 2 years ago
comment:2 by , 2 years ago
Вот что в логе платы VE-02:
Sep 15 06:53:45 comcerto daemon.info sip_ua[523]: repro.cpp:644: doSessionAccounting(): Session Created 'branch=z9hG4bK1000039121639091345285060'
Sep 15 06:53:45 comcerto daemon.info dnsmasq[375]: reading /tmp/resolv.conf.auto
Sep 15 06:53:45 comcerto daemon.info dnsmasq[375]: using local addresses only for domain lan
Sep 15 06:53:45 comcerto daemon.info dnsmasq[375]: using nameserver 8.8.8.8#53
Sep 15 06:53:45 comcerto daemon.info dnsmasq[375]: using nameserver 192.168.0.13#53
Sep 15 06:53:45 comcerto daemon.info dnsmasq[375]: using nameserver 212.33.224.133#53
Sep 15 06:53:45 comcerto daemon.info sip_ua[478]: user_agent.cpp:2322: INVITE received: sip:1@127.0.0.1:6060;transport=udp (Call-ID: 10000373988@192.168.0.233:5060)
Sep 15 06:53:45 comcerto daemon.info sip_ua[454]: fxs.cpp:441: ---> ts=254, state=Idle: Incoming call, ts=-1, flags=0001, data=14
Sep 15 06:53:45 comcerto daemon.warn sip_ua[454]: user_agent.cpp:4055: no remote SDP body found for call!
Sep 15 06:53:45 comcerto daemon.warn sip_ua[454]: user_agent.cpp:4055: no remote SDP body found for call!
Sep 15 06:53:45 comcerto daemon.info sip_ua[454]: fxs.cpp:1034: channel 254: ringing
Sep 15 06:53:45 comcerto daemon.info sip_ua[454]: user_agent.cpp:4379: Call 14 routed to TS 254
Sep 15 06:53:47 comcerto daemon.info sip_ua[454]: fxs.cpp:441: ---> ts=254, state=Ringing: Caller ID sending complete, ts=254, flags=0000, data=0
Sep 15 06:53:50 comcerto daemon.info sip_ua[454]: fxs.cpp:441: ---> ts=254, state=Ringing: CAS event, ts=254, flags=0000, data=7
Sep 15 06:53:50 comcerto daemon.info sip_ua[454]: user_agent.cpp:1133: no remote SDP body found for call! Sending SDP offer.
Sep 15 06:53:50 comcerto daemon.info sip_ua[454]: comcerto.cpp:6383: channel 254: answer
Sep 15 06:53:50 comcerto daemon.info sip_ua[523]: repro.cpp:868: doSessionAccounting(): Session Established 'branch=z9hG4bK1000039121639091345285060'
Sep 15 06:54:00 comcerto daemon.info sip_ua[454]: fxs.cpp:441: ---> ts=254, state=Connected: CAS event, ts=254, flags=0000, data=15
Sep 15 06:54:00 comcerto daemon.info sip_ua[454]: fxs.cpp:441: ---> ts=254, state=Idle: Call disconnected, ts=254, flags=0000, data=14
Sep 15 06:54:00 comcerto daemon.info sip_ua[523]: repro.cpp:778: doSessionAccounting(): Session Ended 'branch=z9hG4bK916142501'
Sep 15 06:54:00 comcerto daemon.info sip_ua[523]: repro.cpp:796: --> duration=10, []sip:1@192.168.0.233:5060 ---> [FS01]sip:1@192.168.0.76:5060
Sep 15 06:54:00 comcerto daemon.info sip_ua[523]: repro.cpp:1057: --> CDR: {"answer":1694760830,"duration":10,"hangup":1694760840,"org-host":"192.168.0.233","org-port":"5060","org-scheme":"sip","org-user":"1","to-host":"192.168.0.76","to-port":"5060","to-scheme":"sip","to
Судя по сообщению no remote SDP body found for call! Sending SDP offer, предложение SDP в запросе INVITE почему-то не было найдено...
comment:3 by , 2 years ago
Аналогичное сообщение no remote SDP body found for call! было выведено при выполнении ua_checkSupportedCodec()...
comment:4 by , 2 years ago
"Синтетический" эксперимент с платой VE-01 проблемы не воспроизвел:
192.168.0.75.5060 > 192.168.1.67.5060: SIP, length: 780
INVITE sip:111@192.168.1.67:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.75:5060;branch=z9hG4bK-159371-1-0;rport
From: <sip:1@192.168.0.75:5060>;tag=1E900A8C0C4135000000
To: <sip:111@192.168.1.67:5060>
Call-ID: 1-159371@192.168.0.75
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, UPDATE
Contact: <sip:1@192.168.0.75:5060>
Max-Forwards: 70
Supported: 100rel, timer
User-Agent: DMR AIS R1.4(APP R3.42.087)(Feb 24 2022)
Ais-Reach: group
Ais-Options: slot=1
Content-Type: Application/SDP
Content-Length: 261
v=0
o=FreeSWITCH 1466121506 1466121507 IN IP4 192.168.0.75
s=FreeSWITCH
c=IN IP4 192.168.0.75
t=0 0
m=audio 27424 RTP/AVP 0 8 18 9 3
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=rtpmap:9 G722/8000
a=rtpmap:3 GSM/8000
a=ptime:20
....... skipped .........
192.168.1.67.5060 > 192.168.0.75.5060: SIP, length: 798
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.75:5060;branch=z9hG4bK-159371-1-0;rport=5060
Record-Route: <sip:192.168.1.67:5060;transport=udp;lr>
Contact: <sip:111@127.0.0.1:6060>
To: <sip:111@192.168.1.67:5060>;tag=349501213
From: <sip:1@192.168.0.75:5060>;tag=1E900A8C0C4135000000
Call-ID: 1-159371@192.168.0.75
CSeq: 3 INVITE
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, NOTIFY, INFO, UPDATE, PRACK, SUBSCRIBE
Content-Type: application/sdp
Server: repro 1.12.0
Supported: replaces, timer, 100rel
User-Agent: eXosip/5.2.1
Allow-Events: conference
P-Asserted-Identity: "John West" <sip:111@192.168.1.67>
X-Endpoint-Type: FXS
Content-Length: 133
v=0
o=gateway 0 0 IN IP4 192.168.1.67
s=conversation
c=IN IP4 192.168.1.67
t=0 0
m=audio 10254 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Это странно, INVITE почти полностью аналогичен исходному...
comment:6 by , 2 years ago
Заметил, что в плате VE-02 192.168.0.76 прошивка ревизии 42. Прошил в свою плату VE-02 прошивку ревизии 42, но все равно не воспроизвелось...
comment:7 by , 2 years ago
| Resolution: | → не воспроизводится |
|---|---|
| Status: | new → closed |
На этот раз отправил в точности то же сообщение, что было в исходном вызове, заменив только IP адреса. Проблема не воспроизвелась.
Думаю, я исчерпал все возможности воспроизвести проблему.
comment:8 by , 2 years ago
| Resolution: | не воспроизводится |
|---|---|
| Status: | closed → reopened |
Переоткрываю в связи со вновь открывшимися обстоятельствами.
comment:9 by , 2 years ago
| Resolution: | → invalid |
|---|---|
| Status: | reopened → closed |
Если в описании тикета внимательно посмотреть на сообщение SDP в исходном INVITE и сравнить его с сообщением SDP в ответе "200 OK" (временная отметка 12:11:57.735086), можно заметить, что после последней записи последнего (a=gpmd:98 vbd=yes) в приведенном дампе есть пустая строка, а после последней записи (a=floor) первоначального сообщения пустой строки нет. Это навело меня на интересную мысль. :) Я подсчитал, сколько байт должно занимать правильно сформированное сообщение SDP с текстом, приведенном в дампе. У меня получилось 256 байт. Однако в заголовке исходного сообщения INVITE написано: Content-Length: 254! Это подтвердило возникшую ранее мысль.
Сообщение SDP в исходном INVITE не является валидным - у него "отрезан хвост" (два последних символа CRLF). Следствием этого является ошибка в процессе парсинга этого сообщения библиотекой libosip2, что в конечном итоге приводит к тому, что шлюз VE-02 ведет себя так, как будто никакого сообщения SDP в принятом INVITE нет.

Было подозрение на верхний регистр в строке
Content-Type: Application/SDP, но в libeXosip2 при поиске SDP MIME тип и подтип сравниваются регистронезависимо, как этого и требует RFC...