linphone-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-developers] Incoming call error (Failed to parse SDP)


From: Giacomo Furlan
Subject: Re: [Linphone-developers] Incoming call error (Failed to parse SDP)
Date: Tue, 6 Oct 2015 16:09:58 +0200

Hello Gautier,

thanks for the reply. I've got the very same issue both with the Android Play Store version and the one I've compiled from the sources. When I first tried the Play Store version I thought it was something to do with the ports, but logcat'ing it I found that was indeed the error and the cause of failure of the call.

Thank you for any hint :)

Giacomo Furlan
Software developer
Software Solutions Designs

2015-10-06 16:07 GMT+02:00 Gautier Pelloux-Prayer <address@hidden>:
Do you reproduce the issue with Linphone ?

Cheers,

Gautier Pelloux-Prayer
Software Engineer @ Belledonne Communications

> On 06 Oct 2015, at 15:22, Giacomo Furlan <address@hidden> wrote:
>
> Further digging, I think it's about this particular line:
>
> a=ex_fmtp:102 2CIF=1
>
> which is the 15th line of the SDP message. But on column 4 there is no CR LF? Maybe that's what's causing the exception?
>
> I've digged in the source code and, if I'm not wrong, this depends on submodules/belle-sip/src/grammars/belle_sdp.g line 411 (row 22)... but I've got NO idea on how to edit this particular line, as I don't know the ANTLR4 grammar syntax.
>
> I know of other libraries working with this SDP message, so I think they figured out a way (or this may even be a linphone bug? I'm not sure at all)
>
>
> At this point I think I've came to a dead-end, so any help would be appreciated.
>
> Thank you!
>
> Giacomo Furlan
> Software developer
> Software Solutions Designs
>
> 2015-10-06 14:41 GMT+02:00 Giacomo Furlan <address@hidden>:
> Hello again!
>
> The more I read the code, the more I understand how things work in the lib. AFAIK the problem resides in the ending empty line (composed thus only by CR LF characters). Where should I look in order to "fix" this by reading and in case removing empty lines from SDP messages? I know it's a hack and this is why probably you didn't put in the code, but I'm working on a closed-source SIP server and I can't edit it, so I can only try to edit Linphone's behavior.
>
> Thank you very much!
>
> Giacomo Furlan
> Software developer
> Software Solutions Designs
>
> 2015-10-06 10:46 GMT+02:00 Giacomo Furlan <address@hidden>:
> Hello!
>
> I've succeded registering to the service learning from the mini example found in the sources. Now I'm able to connect correctly and I see the server communication.
>
> The next step is to receive calls. I've got two questions:
>
> 1. even if I've enabled OpenH264 (X264) compiling the library, it seems that the library doesn't find the H264 codec when I set it up (message: Could not find encoder for H264). It says encoder, but I don't find any line about the codec. I need to read the stream, not to create it... so am I good?
>
> 2. When I receive a call, it immediately fails on the other side and on mine there is the following log, I think because it fails to parse the SDP message?
>
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: bellesip_wake_lock_acquire(): Android wake lock acquired [ref=0x1df0029a]
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: channel [0x66e5f008]: starting recv background task with id=[1df0029a].
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: channel [0x66e5f008]: received [804] new bytes from [UDP://192.168.0.201:5060]:
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: INVITE sip:address@hidden:8888 SIP/2.0
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: Via: SIP/2.0/UDP 192.168.0.201:5060;rport;branch=z9hG4bK2140099773
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: From: <sip:address@hidden>;tag=1735352582
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: To: <sip:address@hidden:8888>
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: Call-ID: 1674329296
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: CSeq: 20 INVITE
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: Contact: <sip:address@hidden:5060>
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: Content-Type: application/sdp
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: Max-Forwards: 70
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: User-Agent: DnakeVoip v1.0
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: Content-Length:   428
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager:
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: v=0
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: o=dnake 508646889 508646889 IN IP4 192.168.0.201
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: s=dnake
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: c=IN IP4 192.168.0.201
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: t=0 0
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: m=audio 6000 RTP/AVP 0 8 101
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: a=rtpmap:0 PCMU/8000/1
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: a=rtpmap:8 PCMA/8000/1
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: a=rtpmap:101 telephone-event/8000/1
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: a=fmtp:101 0-11
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: a=sendrecv
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: m=video 6200 RTP/AVP 102
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: a=rtpmap:102 H264/90000
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: a=fmtp:102 profile-level-id=4D0029; packetization-mode=1
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: a=ex_fmtp:102 2CIF=1
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: a=ex_multicast:102 ip=238.9.0.201; port=6300
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: a=sendrecv
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: channel [0x66e5f008] [376] bytes parsed
> 10-06 16:39:12.680 14680-14734/com.be_ssd.sipinterphone I/SIPManager: channel [0x66e5f008] read [428] bytes of body from [192.168.0.201:5060]
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: Changing [server] [INVITE] transaction [0x66e11f28], from state [INIT] to [PROCEEDING]
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: channel [0x66e5f008]: message sent to [UDP://192.168.0.201:5060], size: [211] bytes
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: SIP/2.0 100 Trying
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: Via: SIP/2.0/UDP 192.168.0.201:5060;rport;branch=z9hG4bK2140099773
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: From: <sip:address@hidden>;tag=1735352582
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: To: sip:address@hidden:8888
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: Call-ID: 1674329296
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: CSeq: 20 INVITE
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager:
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: New server dialog [0x66e457b0] , local tag [], remote tag [1735352582]
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: op [0x66e42240] : set_or_update_dialog() current=[0x0] new=[0x66e457b0]
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: new incoming call from [sip:address@hidden] to [sip:address@hidden:8888]
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: [org.antlr.runtime.MismatchedTokenException] reason [()* loopback of 411:22: ( attribute CR LF )*] at line[15] position[4]
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone I/SIPManager: [org.antlr.runtime.MismatchedTokenException] reason [()* loopback of 411:22: ( attribute CR LF )*] at line[15] position[4]
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: session_description parser error for [v=0
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: o=dnake 508646889 508646889 IN IP4 192.168.0.201
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: s=dnake
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: c=IN IP4 192.168.0.201
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: t=0 0
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: m=audio 6000 RTP/AVP 0 8 101
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: a=rtpmap:0 PCMU/8000/1
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: a=rtpmap:8 PCMA/8000/1
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: a=rtpmap:101 telephone-event/8000/1
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: a=fmtp:101 0-11
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: a=sendrecv
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: m=video 6200 RTP/AVP 102
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: a=rtpmap:102 H264/90000
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: a=fmtp:102 profile-level-id=4D0029; packetization-mode=1
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: a=ex_fmtp:102 2CIF=1
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: a=ex_multicast:102 ip=238.9.0.201; port=6300
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: a=sendrecv
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: ]
> 10-06 16:39:12.690 14680-14734/com.be_ssd.sipinterphone E/SIPManager: Failed to parse SDP message.
>
>
> After that message, I've got repeated log messages like the following one:
>
> 10-06 16:39:44.220 14680-14734/com.be_ssd.sipinterphone I/SIPManager: channel [0x66e5f008] [262] bytes parsed
> 10-06 16:39:44.220 14680-14734/com.be_ssd.sipinterphone E/SIPManager: Missing mandatory header [Max-Forwards] for message [ACK]
> 10-06 16:39:44.220 14680-14734/com.be_ssd.sipinterphone I/SIPManager: channel [0x66e5f008]: message sent to [UDP://192.168.0.201:5060], size: [227] bytes
> 10-06 16:39:44.220 14680-14734/com.be_ssd.sipinterphone I/SIPManager: SIP/2.0 400 Bad request
> 10-06 16:39:44.220 14680-14734/com.be_ssd.sipinterphone I/SIPManager: Via: SIP/2.0/UDP 192.168.0.201:5060;rport;branch=z9hG4bK2140099773
> 10-06 16:39:44.220 14680-14734/com.be_ssd.sipinterphone I/SIPManager: From: <sip:address@hidden>;tag=1735352582
> 10-06 16:39:44.220 14680-14734/com.be_ssd.sipinterphone I/SIPManager: To: <sip:address@hidden:8888>;tag=O0JZGYV
> 10-06 16:39:44.220 14680-14734/com.be_ssd.sipinterphone I/SIPManager: Call-ID: 1674329296
> 10-06 16:39:44.220 14680-14734/com.be_ssd.sipinterphone I/SIPManager: CSeq: 20 ACK
>
> Thank you very much for any reply
>
> Giacomo Furlan
> Software developer
> Software Solutions Designs
>
>
> _______________________________________________
> Linphone-developers mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/linphone-developers


_______________________________________________
Linphone-developers mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/linphone-developers


reply via email to

[Prev in Thread] Current Thread [Next in Thread]