libosip2 [LSARC/2009/277 FastTrack timeout 05/10/2009]

Simon Sun Simon.Sun at SUN.COM
Tue May 12 03:35:40 PDT 2009


Hi James,

Please see my in-line comments below.

cheers,
Simon

James Carlson wrote:
> Simon Sun writes:
>  
>> James Carlson wrote:
>>    
>>> What (if anything) will be done with the existing SIP library and SIP
>>> proxy that are already in OpenSolaris?
>>>         
>> Nothing needed for the current SIP stuff since there's no conflict 
>> between each other.
>>     
>
> What happens if someone tries to use both SIP proxies on a single
> system?
>   
By default, the port 5060 is for SIP use.  If two instances of one SIP 
proxy were started up, the latter one should fail since the default port 
has been occupied by the first instance. Same thing will happen to the 
two different proxies. It has nothing do with the library underneath. 
For this case, we just want to put back the library into SFW gate at 
this moment.

Usually the port number can be changed in configuration file in the 
proxy to prevent this from happening.
For example, the  Sip Express Router(ser) which has been included in 
Solaris has a configuration file /etc/sfw/ser/ser.cfg which is with the 
below section:
#
# port to listen on. default is 5060
#
#port=5090

> What happens if a process ends up with both SIP libraries linked into
> it due to library dependencies?
>
> (I'm guessing the answers are that things may break, and, since it's
> just an "option," we don't really care.  Is that right?)
>  
It's incorrect. We do care the user's feeling.

Actually there's no dependency between libsip and libosip2. All the 
interfaces and implementation are quite different from each other. There 
is almost certainly no sane reason to use both at once since it will 
definitely increase the complexity of the program.

If it's proper, we can strongly suggest the user not to use the two 
library at the same time and includes that in man page.
>  
>>> Will the documentation say anything about the duplication?       
>> I'm not sure since it's difficult to describe this very clearly. If 
>> needed, any suggestion?
>>     
> At a minimum, we have to tell people which implementations are the
> preferred and supported ones.  See the PAC advice delivered as part of
> PSARC 2009/147 ("tcpdump"):
>
>   When  delivering  multiple  implementations  of   a   single
>   feature, and where an extended period of co-existence rather
>   than eventual replacement is expected, the Solaris  PAC  and
>   the  management  of  the  on-going "familiarity" project are
>   advised that the ARC requires explicit information regarding
>   which  of  the  co-existing  implementations  is regarded as
>   "preferred."
>
> The short answer is that OpenSolaris is supposed to be a coherent
> system, not just a random assemblage of parts.
>
>   
Yes, absolutely. Since we've provided SIP support in Solaris, by adding 
another one which is more commonly used by OpenSource community, we can 
attract more user who is based on oSIP to Solars and lose nothing. Later 
on, we can port other application based on oSIP on other platform into 
Solaris.

It's similar to the libusb. Even through in Solaris we provide the 
USBA,  we still put back libusb into Solaris to provide the end user 
another choice.
>>>  How should
>>> developers working on SIP applications on OpenSolaris choose between
>>> them?
>>>         
>> oSIP is an GNU open-source project and the interfaces are quite 
>> different from which in SIP. The end user can make the decision on 
>> using which. With libosip2 integrated, we provide the end user 
>> another choice.
>>     
> Or just architectural confusion.  It's unclear which we get.
>   
They are two different implementations which are compliant with the RFC 
3261.  The user can choose the one he/she is more familiar with.
>  
>>> Is there anything that uses or will use this new library?
>>>         
>> Another library named libexosip2 will use it after being put back.
>>     
> Is there any _application_ that will be using it?
>
>   
partysip: A Linux SIP proxy based on osip2 (LGPL)
http://www.nongnu.org/partysip/partysip.html

SFLphone: A multiplatform, open source SIP user agent. It is based on 
several libraries: cc++, ccRTP, osip2+eXosip:
http://www.sflphone.org/

GNU SIP Witch - call and registration server for the SIP protocol
GNU Bayonne - telephony server
http://www.gnu.org/software/gnucomm/




More information about the opensolaris-arc mailing list