Re: [OpenSIPStack] Server implementation question
Brought to you by:
joegenbaclor
From: <jo...@op...> - 2007-11-23 09:27:16
|
SIP::SIPStack is probably the best place for you then. You just need to = create your own SIPTransportEvent and feed it to OnTransportEvent()=20 virtual method. I agree that there is not much to work with in terms=20 of documentation and I assure you that this is not a permanent=20 condition. It is just that all the hands working on the project are=20 currently busy with actual coding of functionalities. For now, you're=20 best bet is to ask questions and we can answer it to the best of our=20 abilities. I also have plans of creating a near C API wrapper for the=20 stack to make implementors and integrators life easier. One thing=20 that might be a bit of a road block for you is that OpenSIPStack design=20 is not modular and that almost all components like the Transport, FSM=20 and the core are intertwined. Thus, if you need to use third party=20 replace ments, you will need to subclass the right component. Thomas Raschbacher wrote: > Joegen, > > Well the main thing is that the transport layer is partially existing a= lready and needs to be implemented in some other part of the application = I think (also we need TCP and TLS too). Problem is that we need to do the= switching and deciding if a call is valid or not,.. ourselves. > Maybe I missed something and this functionality can be achieved otherwi= se (our application does have hardware to connect to analogue/digital pho= nes as well as does the switching and more or less the 'media server/prox= y' too. Of course we want to use our switching and the media proxying - s= ince call recording is a required features.) > > If there is an easier way to achieve this please let me know as it is a= bit difficult to find those things out as I couldn't find a lot of devel= oper documentation / the code isn't commented very much explaining which = class exactly does what. > > Regards, > P.S.: I'm currently playing around with sending Transport events to a d= erived class of SIP::SIPStack and having that process the event to find o= ut exactly what level of processing this class does already ... It would = really help me if there was some sort of documentation like an architectu= re diagram or some short description of which class would be best to use = if I want some basic replies and timeouts already implemented, as I don't= know if SIPStack is even the right choice or if I rather should look at = SIPFSM, ... > > > -----Original Message----- > From: ope...@li... [mailto:opensips= tac...@li...] On Behalf Of Joegen E. Baclor > Sent: Freitag, 23. November 2007 09:39 > To: jo...@op...; ope...@li... > Subject: Re: [OpenSIPStack] Server implementation question > > Thomas, > > BTW, OpenSIPStack default license is MPL 1.1 not GPL/LGPL. If you are= > afraid that the modification below will render your proprietary code > violating the license, do not worry. The only thing covered by the MPL= > is the modification done to OpenSIPStack alone and not your entire > application. Thus, If you indeed deploy your own transport, then the > code block below is the only thing you are obliged to make open or > contribute back to OpenSIPStack. Can you share why you want to use > another transport though? > > Joegen > > jo...@op... wrote: > =20 >> Hi Thomas, >> >> You need to create your custom transports as descendant of >> SIPTransport. You would then need to override the following Virtual >> Method in SIPTransportManager to return an instance fo your custom tra= nsport >> >> SIPTransport * SIPTransportManager::OnCreateTransport( >> const char * userAgentName, >> SIPTransport::Protocol protocol >> ) >> { >> if( protocol =3D=3D SIPTransport::UDP ) >> return new SIPUDPTransport( userAgentName, this ); >> else if( protocol =3D=3D SIPTransport::TCP ) >> return new SIPTCPTransport( userAgentName, this ); >> >> return NULL; >> } >> >> >> Hope that helps. >> >> Joegen >> >> Thomas Raschbacher wrote: >> >> =20 >>> Hi, >>> >>> If I wanted to use a custom transport without changing opensipstackco= de itself (ie it being in a different library and just sending events to = the stack when it receives / sends/sent messages) how would I best do tha= t? (Need to use existing transports in non (L)GPL application, but want t= o use as much of opensipstack as possible - the parser itself is no probl= em of course, but I'd like to use a higher 'level' than just that which a= lso implements timers and responses like TRYING, ...) >>> >>> Regards, >>> >>> Mit freundlichen Gr=FC=DFen >>> Thomas Raschbacher >>> ____________________________________________ >>> itCampus Technology GmbH >>> =D6sterreich * Deutschland * Italien >>> Wehlistra=DFe 27b >>> 1200 Wien >>> tho...@it... >>> Tel: +43 (1) 33418557-58 >>> Fax: +43 (1) 33418557-958 >>> http://www.itctec.com >>> UID: ATU 6339 0618 >>> Firmenbuchnr: FN292598t, Handelsgericht Wien >>> Gesch=E4ftsf=FChrer: Andreas G=FCnser, Andreas Lassmann >>> Joint Venture von itCampus und MEC >>> >>> itCampus Gruppe >>> Deutschland * Gro=DFbritannien * Italien * =D6sterreich * Schweiz * S= lowakei >>> http://www.itcampus.eu >>> >>> >>> ---------------------------------------------------------------------= ---- >>> This SF.net email is sponsored by: Microsoft >>> Defy all challenges. Microsoft(R) Visual Studio 2005. >>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>> _______________________________________________ >>> opensipstack-devel mailing list >>> ope...@li... >>> https://lists.sourceforge.net/lists/listinfo/opensipstack-devel >>> >>> >>> >>> >>> >>> =20 >> >> ----------------------------------------------------------------------= --- >> This SF.net email is sponsored by: Microsoft >> Defy all challenges. Microsoft(R) Visual Studio 2005. >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >> _______________________________________________ >> opensipstack-devel mailing list >> ope...@li... >> https://lists.sourceforge.net/lists/listinfo/opensipstack-devel >> >> >> >> =20 > > > > -----------------------------------------------------------------------= -- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > opensipstack-devel mailing list > ope...@li... > https://lists.sourceforge.net/lists/listinfo/opensipstack-devel > > -----------------------------------------------------------------------= -- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > opensipstack-devel mailing list > ope...@li... > https://lists.sourceforge.net/lists/listinfo/opensipstack-devel > > > > =20 |