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 15:22:14 +0200

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



reply via email to

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