[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Linphone-developers] Alternate sdp negotiation support
From: |
Simon Morlat |
Subject: |
Re: [Linphone-developers] Alternate sdp negotiation support |
Date: |
Tue, 28 Nov 2006 15:10:48 +0100 |
User-agent: |
KMail/1.9.5 |
Hi,
First of all thanks for your patch.
I've reviewed it, but despite it is well written I will not merge it to the
cvs because of the following reason:
Actually linphone doesn't use the sdp negociator embedded in eXosip. It uses
its own one, defined in sdphandler.c.
Your patch:
/* sends a 200 OK, sdp offer will be added */
+ snprintf(local_sdp_port, sizeof(local_sdp_port), "%d",
lp_config_get_int(lc->config,"rtp","audio_rtp_port",7078));
+ eXosip_lock();
+ eXosip_answer_call(lc->call->did,200,local_sdp_port);
+ eXosip_unlock();
actually bypass linphone's sdp negociator in favour of the exosip one.
Unfortunately the exosip sdp negociator has no knowledge of linphone's audio
codec (except mulaw/alaw/gsm(?), doesn't know if there are usable with
respect of the bandwidth limitation and user requests. And it doesn't know
video codec at all.
In a few words the eXosip negociator does not have the features of linphone's
sdp negociator.
I hope you understand all those reasons.
In eXosip2 the sdp negociator has been removed completely by its author
because it realized it was too limited. I plan to switch to eXosip2 as soon
as possible. The good news is that I'll implement the 200ok/ack sdp scheme
with eXosip2, as well as re-invite. It will be much easier with eXosip2 than
with exosip1.
Your patch will be kept in the mailing list for people using 1.3.6 with
limited audio features, thank you anyway for posting it, for sure it will
benefit to someone.
Simon
Le lundi 27 novembre 2006 10:33, Stephen Brooks a écrit :
> Hi,
>
> Please find attached a patch to add the alternate sdp negotiation
> process (aka third party call control or delayed media) for incoming
> calls against linphone 1.3.4. In the linphone TODO this should satisfy
> "support for incoming invites without SDP"
>
> Prior to this if linphone received an incoming call INVITE with no sdp
> offer you would see the logs give the error "No sdp body !" and linphone
> would decline the call with a SIP "603 Decline" message.
>
> RFC 3621 Section 13.2.1 page 79 details the appropriate response. In a
> nutshell if there's no sdp offer in the INVITE from the caller then the
> recipient must respond with an offer in its 200 OK (typically when the
> recipient answers) and the caller then sends the sdp answer in its ACK
> and the media session can then be established.
>
> This was developed using the very useful SIPp utility and in particular
> it's 3rd Party Call Control (3pcc) test scenario. This has been
> successfully used informally via Cisco Call Manager 5.1
>
> http://sipp.sourceforge.net/doc1.1/reference.html#3PCC
> In the referenced diagram the three SIPp instances ran on my desktop as
> B to call my test unit as A
>
> B client
> ./sipp -mp 6002 -sn 3pcc-B -p 5062 -m 1 -trace_msg -trace_err
>
> B controller
> ./sipp -mp 6006 -sn 3pcc-C-B <B ip>:5062 -p 5064 -m 1 -3pcc <B ip>:5080
> -trace_msg -trace_err
>
> A controller
> ./sipp -mp 6010 -sn 3pcc-C-A <A ip>:5060 -p 5066 -m 1 -3pcc <B ip>:5080
> -trace_msg -trace_err
>
> A client
> Patched linphonec
>
> Hope this is of use :)
>
> Regards,