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: Gautier Pelloux-Prayer
Subject: Re: [Linphone-developers] Incoming call error (Failed to parse SDP)
Date: Tue, 6 Oct 2015 16:07:05 +0200

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




reply via email to

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