Opened 8 months ago

Closed 8 months 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 alx, 8 months ago

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

comment:2 by alx, 8 months 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 alx, 8 months ago

Аналогичное сообщение no remote SDP body found for call! было выведено при выполнении ua_checkSupportedCodec()...

comment:4 by alx, 8 months 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:5 by alx, 8 months ago

С платой VE-02 (и модулем FS01) у меня тоже не воспроизвелось...

comment:6 by alx, 8 months ago

Заметил, что в плате VE-02 192.168.0.76 прошивка ревизии 42. Прошил в свою плату VE-02 прошивку ревизии 42, но все равно не воспроизвелось...

comment:7 by alx, 8 months ago

Resolution: не воспроизводится
Status: newclosed

На этот раз отправил в точности то же сообщение, что было в исходном вызове, заменив только IP адреса. Проблема не воспроизвелась.

Думаю, я исчерпал все возможности воспроизвести проблему.

comment:8 by alx, 8 months ago

Resolution: не воспроизводится
Status: closedreopened

Переоткрываю в связи со вновь открывшимися обстоятельствами.

comment:9 by alx, 8 months ago

Resolution: invalid
Status: reopenedclosed

Если в описании тикета внимательно посмотреть на сообщение 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 нет.

Note: See TracTickets for help on using tickets.