Re: [OpenSIPStack] FW: FW: OpenSBC as Forking Proxy
Brought to you by:
joegenbaclor
From: Gustavo C. <cur...@ho...> - 2007-07-03 15:58:02
|
Hi Joegen: =20 I don't have a call sesion, i have a proxy session. The cancel is sent to t= he m_DialogPeerAddress for a proxy session. I have added the following code= : =20 void ProxySession::OnDNSFailOver( SIPDNSFailOver & failOverEvent ) { SIPMessage msg =3D failOverEvent.GetMessage(); if( msg.IsInvite() ) { SIPURI targetURI; msg.GetRequestURI(targetURI); SetDialogPeerAddress( targetURI.AsString() ); } } =20 Then the cancel is sent to the actual target of the ICT transaction, but if= the actual target is not answering, the ICT continue trying with the actua= l target and with the followings. The ICT transaction must stop trying. Cou= ld you give some directions, please? Thanks for your help.Gustavo.=20 > Date: Tue, 26 Jun 2007 15:23:39 +0800> From: jb...@so...> T= o: jb...@so...; ope...@li...> CC:= cur...@gm...> Subject: Re: [OpenSIPStack] FW: FW: OpenSBC as = Forking Proxy> > Hi Gustavo,> > I have committed a fix of this. It's very s= imple actually. I just > propagated a SIPDNSFailOver stack event to the cal= l session and made > sure that m_CurrentUACInvite is replaced. Can you chec= k if this is a > safe change? Thanks.> > Joegen> > > Joegen E. Baclor wrote= :> > Hmmmn thats TRUE. Lemme dig further. I'll let you know once a fix is >= > available.> >> >> > Gustavo Curetti wrote:> > > >> Joegen:> >> > >> The = fix works fine. But i have the following problem: When i hang up > >> and s= end a Cancel to OpenSBC, the OpenSBC respond with > >> Code487_RequestCance= lled but the Cancel is not been send to the actual > >> target, the Cancel = is just routed again.> >>> >> Thanks for your help.> >> > >> Gustavo> >>> >= > ------------------------------------------------------------------------>= >>> >> > >>> Date: Wed, 13 Jun 2007 22:15:14 +0800> >>> To: curetti.gustav= o...@gm...; ope...@li...> >>> Subject: Re: [Op= enSIPStack] FW: FW: OpenSBC as Forking Proxy> >>> From: joegen.baclor@gmail= .com> >>>> >>> I've just checked in a fix for this in CVS.> >>>> >>> Gustav= o Curetti wrote:> >>> > >>>> Joegen,> >>>>> >>>> I tried the DoDNSFailover'= s code but i have the following behavior:> >>>>> >>>> When DoDNSFailover() = is called for the first time m_FailOverAttempts> >>>> is increased from 0 t= o 1.> >>>>> >>>> Then the via is changed (+ "-") and with this change when>= >>>> FindTransactionAndAddEvent() is called a new transaction is created.>= >>>> In SIPTransaction::SIPTransaction() m_FailOverAttempts is initialized= > >>>> to 0. Then when DoDNSFailover() is called again, the same target > >= >>> > >> is used.> >> > >>>> Gustavo> >>>>> >>>>> >>>> > >> ---------------= ---------------------------------------------------------> >> > >>>> From: = cur...@ho...> >>>> To: jb...@so...> >>>> Subje= ct: RE: [OpenSIPStack] FW: OpenSBC as Forking Proxy> >>>> Date: Wed, 30 May= 2007 14:43:32 +0200> >>>>> >>>> Joegen,> >>>>> >>>> Thanks a lot. I will t= ry to change the behavior.> >>>>> >>>> Gustavo> >>>>> >>>>> >>>>> >>>> > >>= ------------------------------------------------------------------------> = >> > >>>>> Date: Fri, 18 May 2007 08:15:20 +0800> >>>>> From: jbaclor@soleg= ysystems.com> >>>>> To: cur...@gm...;> >>>>> > >>>> opensipsta= ck-...@li...> >>>> > >>>>> Subject: Re: [OpenSIPStack] FW= : OpenSBC as Forking Proxy> >>>>>> >>>>> Gustavo,> >>>>>> >>>>> Sorry, I fo= rgot to get back to you. If you have the latest CVS head> >>>>> code, check= out BOOL SIPTransaction::DoDNSFailover() in> >>>>> SIPTransaction.cxx. I h= ave committed this a few days ago to> >>>>> demonstrate fail-over by forkin= g using DNS/SRV records. New> >>>>> transactions are created by calling> >>= >>> > >>>> FindTransactionAndAddEvent(). You> >>>> > >>>>> can just change = its behavior a bit and get the fail-over routes> >>>>> somewhere instead of= DNS/SRV queries.> >>>>>> >>>>> Joegen> >>>>>> >>>>>> >>>>> Gustavo Curetti= wrote:> >>>>> > >>>>>> Joegen:> >>>>>>> >>>>>> I don't understand how to c= reate a new client transaction when> >>>>>> > >>>> the> >>>> > >>>>>> first= invite fail in the FSM layer. Could you give some> >>>>>> > >>>> direction= s,> >>>> > >>>>>> please?> >>>>>>> >>>>>> Thanks for your help.> >>>>>>> >>= >>>> Gustavo.> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> > >> ----------------= --------------------------------------------------------> >> > >>>>>> From:= cur...@ho...> >>>>>> To: jb...@so...> >>>>>> = Subject: RE: [OpenSIPStack] OpenSBC as Forking Proxy> >>>>>> Date: Mon, 14 = May 2007 16:18:57 +0200> >>>>>>> >>>>>> Joegen:> >>>>>>> >>>>>> Thanks for = your help. Do you suggest to do the serial forking in> >>>>>> FSM layer wit= h a custom header?.Must each new try create a new> >>>>>> client transactio= n?> >>>>>>> >>>>>> Thanks> >>>>>> Gustavo> >>>>>>> >>>>>>> >>>>>> > >> ----= --------------------------------------------------------------------> >> > = >>>>>>> Date: Thu, 10 May 2007 13:28:29 +0800> >>>>>>> From: jbaclor@solegy= systems.com> >>>>>>> To: cur...@gm...> >>>>>>> Subject: Re: [O= penSIPStack] OpenSBC as Forking Proxy> >>>>>>>> >>>>>>> Gustavo,> >>>>>>>> = >>>>>>> This will be a bit tricky. It is not as simple as spawning an> >>>>= >>> > >>>>>> outbound> >>>>>> > >>>>>>> invite. There should be a clean mec= hanism to clone> >>>>>>> > >>>> transactions and> >>>> > >>>>>>> this is no= t present in the FSM currently. Forking should be done> >>>>>>> > >>>>>> in= the> >>>>>> > >>>>>>> FSM layer, not in the UACore layer. I will see what = I can do to> >>>>>>> > >>>>>> help> >>>>>> > >>>>>>> you. I will let you kn= ow when I have something you can use> >>>>>>> > >>>>>> cleanly to> >>>>>> >= >>>>>>> fork your calls. Perhaps over the weekend, but that isn't a> >>>>>= >> > >>>> promise.> >>>> > >>>>>>> Joegen> >>>>>>>> >>>>>>> Gustavo Curetti= wrote:> >>>>>>> > >>>>>>>> Joegen:> >>>>>>>>> >>>>>>>> What I want to do i= s a very simple sequential search. When one> >>>>>>>> destination don't ans= wer or reject the call I want the OpenSBC> >>>>>>>> > >>>>>> try> >>>>>> > = >>>>>>>> another.> >>>>>>>>> >>>>>>>> I made the following changes in the c= ode for timer B> >>>>>>>> > >>>>>> expiration just> >>>>>> > >>>>>>>> for d= o some tests:> >>>>>>>>> >>>>>>>> void ProxySessionManager::OnTimerExpire(>= >>>>>>>> SIPTimerExpire & timerEvent,> >>>>>>>> SIPSession * session> >>>>= >>>> )> >>>>>>>> {> >>>>>>>> if( session !=3D NULL )> >>>>>>>> {> >>>>>>>> = LOG_IF_DEBUG( LogWarning(), "*** TIMER EXPIRATION *** for SIP> >>>>>>>> Ses= sion " << session->GetSessionId() );> >>>>>>>> if( timerEvent.GetTimer() = =3D=3D> >>>>>>>> > >>>> SIPTransactions::SIPTimerEvent::B)> >>>> > >>>>>>>>= {> >>>>>>>> SIPMessage msg =3D ((ProxySession> >>>>>>>> > >>>> *)session)-= >GetOriginalInvite();> >>>> > >>>>>>>> session->EnqueueSessionEvent( new SI= PSessionEvent(> >>>>>>>> > >>>> *session, 1,> >>>> > >>>>>>>> msg ) );> >>>= >>>>> }> >>>>>>>> session->OnTimerExpire( timerEvent );> >>>>>>>> }> >>>>>>= >> }> >>>>>>>>> >>>>>>>> and> >>>>>>>>> >>>>>>>> void ProxySession::OnTimer= Expire(> >>>>>>>> SIPTimerExpire & timerEvent> >>>>>>>> )> >>>>>>>> {> >>>>= >>>> GCREF( "SIPSession::OnTimerExpire" );> >>>>>>>> if( timerEvent.GetTime= r() =3D=3D> >>>>>>>> > >>>> SIPTransactions::SIPTimerEvent::B ||> >>>> > >>= >>>>>> timerEvent.GetTimer() =3D=3D SIPTransactions::SIPTimerEvent::F )> >>= >>>>>> {> >>>>>>>> ///this is an ICT timeout> >>>>>>>> SIPMessage timeout;>= >>>>>>>> GetCurrentUASRequest().CreateResponse( timeout,> >>>>>>>> SIPMess= age::Code480_TemporarilyNotAvailable );> >>>>>>>> SendRequest( timeout );> = >>>>>>>> }> >>>>>>>>> >>>>>>>> //Destroy();> >>>>>>>> }> >>>>>>>>> >>>>>>>>= With these changes and a relay route:> >>>>>>>>> >>>>>>>> [sip:*@192.168.0= .207:*] sip:192.168.0.1:5060,> >>>>>>>> > >>>>>> sip:192.168.0.60:5060> >>>= >>> > >>>>>>>> the OpenSBC made the second invite successfully. But what i>= >>>>>>>> > >>>>>> really> >>>>>> > >>>>>>>> want is to use some custom hea= ders with a list destination> >>>>>>>> > >>>>>> addresses> >>>>>> > >>>>>>>= > instead of the relay routes and to do the same in case of a> >>>>>>>> > >= >>>>> reject. Do> >>>>>> > >>>>>>>> you have any suggestions?> >>>>>>>>> >>= >>>>>> Other question: Can i have two active ICT for a session?> >>>>>>>> >= >>>>>> Because in> >>>>>> > >>>>>>>> the case of reject, I must start a ne= w ICT for trying the next> >>>>>>>> destination but canceling throw the fir= st ICT at the same> >>>>>>>> > >>>> time.> >>>> > >>>>>>>> Thanks for your = help.> >>>>>>>>> >>>>>>>> Gustavo> >>>>>>>>> >>>>>>>>> >>>>>>>> > >> ------= ------------------------------------------------------------------> >> > >>= >>>>>>> Date: Sat, 5 May 2007 13:50:44 +0800> >>>>>>>>> From: jbaclor@soleg= ysystems.com> >>>>>>>>> To: cur...@gm...;> >>>>>>>>> > >>>>>> = ope...@li...> >>>>>> > >>>>>>>>> Subject: Re: [= OpenSIPStack] OpenSBC as Forking Proxy> >>>>>>>>>> >>>>>>>>> Gustavo,> >>>>= >>>>>> >>>>>>>>> Forking is not supported yet in OpenSBC.> >>>>>>>>>> >>>>>= >>>> Joegen> >>>>>>>>>> >>>>>>>>> Gustavo Curetti wrote:> >>>>>>>>> > >>>>>= >>>>> Hi Joegen:> >>>>>>>>>>> >>>>>>>>>> I want to use the OpenSBC as a For= king Proxy. I want> >>>>>>>>>> > >>>> that the> >>>> > >>>>>>>>>> OpenSBC t= ry the differents Relays Routes one by one. Could> >>>>>>>>>> > >>>>>> you = give> >>>>>> > >>>>>>>>>> some directions, please?> >>>>>>>>>>> >>>>>>>>>> = Thanks for your help.> >>>>>>>>>>> >>>>>>>>>> Gustavo.> >>>>>>>>>>> >>>>>>>= >>>> >>>>>>>>>> > >> ------------------------------------------------------= ------------------> >> > >>>>>>>>>> Descubre Live.com - tu propia p=E1gina = de inicio,> >>>>>>>>>> > >>>>>> personalizada para> >>>>>> > >>>>>>>> ver> = >>>>>>>> > >>>>>>>>>> r=E1pidamente todo lo que te interesa en un mismo sit= io.> >>>>>>>>>> > >>>>>> todo en el> >>>>>> > >>>>>>>>>> mismo sitio. <http= ://www.live.com/getstarted>> >>>>>>>>>>> >>>>>>>>>> > >> ------------------= ------------------------------------------------------> >> > >>>>>>>>>> > >= > -------------------------------------------------------------------------= > >> > >>>>>>>>>> This SF.net email is sponsored by DB2 Express> >>>>>>>>>>= Download DB2 Express C - the FREE version of DB2 express> >>>>>>>>>> > >>>= >>> and take> >>>>>> > >>>>>>>>>> control of your XML. No limits. Just data= . Click to get it> >>>>>>>>>> > >>>>>> now.> >>>>>> > >>>>>>>>>> http://sou= rceforge.net/powerbar/db2/> >>>>>>>>>>> >>>>>>>>>> > >> -------------------= -----------------------------------------------------> >> > >>>>>>>>>> ____= ___________________________________________> >>>>>>>>>> opensipstack-devel = mailing list> >>>>>>>>>> ope...@li...> >>>>>>>>= >>> >>>>>>>>>> > >>>>>> https://lists.sourceforge.net/lists/listinfo/opensi= pstack-devel> >>>>>> > >>>>>>>>>> >>>>>>>>> > >> --------------------------= -----------------------------------------------> >> > >>>>>>>>> This SF.net= email is sponsored by DB2 Express> >>>>>>>>> Download DB2 Express C - the = FREE version of DB2 express and> >>>>>>>>> > >>>>>> take> >>>>>> > >>>>>>>>= > control of your XML. No limits. Just data. Click to get> >>>>>>>>> > >>>>= it now.> >>>> > >>>>>>>>> http://sourceforge.net/powerbar/db2/> >>>>>>>>> = _______________________________________________> >>>>>>>>> opensipstack-dev= el mailing list> >>>>>>>>> ope...@li...> >>>>>>= >>>> >>>>>>>>> > >>>> https://lists.sourceforge.net/lists/listinfo/opensips= tack-devel> >>>> > >>>>>>>>> >>>>>>>> > >> --------------------------------= ----------------------------------------> >> > >>>>>>>> Se uno de los prime= ros en probar Windows Live Mail. Windows> >>>>>>>> > >>>>>> Live Mail.> >>>= >>> > >> <http://ideas.live.com/programpage.aspx?versionId=3D5d21c51a-b161-= 4314-9b0e-4911fb2b2e6d>> >> > >>>>>>> >>>>>> > >> -------------------------= -----------------------------------------------> >> > >>>>>> Se uno de los = primeros en probar Windows Live Mail. Windows Live> >>>>>> Mail.> >>>>>>> >= >>>>> > >> <http://ideas.live.com/programpage.aspx?versionId=3D5d21c51a-b16= 1-4314-9b0e-4911fb2b2e6d>> >> > >>>>>>> >>>>>>> >>>>>> > >> ---------------= ---------------------------------------------------------> >> > >>>>>> Se u= no de los primeros en probar Windows Live Mail. Windows> >>>>>> > >>>> Live= Mail.> >>>> > >> <http://ideas.live.com/programpage.aspx?versionId=3D5d21c= 51a-b161-4314-9b0e-4911fb2b2e6d>> >> > >>>>>> >>>>> > >> ------------------= -------------------------------------------------------> >> > >>>>> This SF= .net email is sponsored by DB2 Express> >>>>> Download DB2 Express C - the = FREE version of DB2 express and take> >>>>> control of your XML. No limits.= Just data. Click to get it now.> >>>>> http://sourceforge.net/powerbar/db2= /> >>>>> _______________________________________________> >>>>> opensipstac= k-devel mailing list> >>>>> ope...@li...> >>>>>= https://lists.sourceforge.net/lists/listinfo/opensipstack-devel> >>>>> > >= >>>> >>>> > >> ------------------------------------------------------------= ------------> >> > >>>> Se uno de los primeros en probar Windows Live Mail.= Windows Live> >>>> Mail.> >>>>> >>>> > >> <http://ideas.live.com/programpa= ge.aspx?versionId=3D5d21c51a-b161-4314-9b0e-4911fb2b2e6d>> >> > >>>>> >>>>>= >>>> > >> ----------------------------------------------------------------= --------> >> > >>>> Comun=EDcate al instante con Windows Live Messenger Win= dows Live> >>>> Messenger> >>>>> >>>> > >> <http://imagine-msn.com/messenge= r/launch80/default.aspx?locale=3Des-ar&source=3Djoinmsncom/messenger> > >>>= >> > >>>> > >> -----------------------------------------------------------= -------------> >> > >>>> > >> ---------------------------------------------= ----------------------------> >> > >>>> This SF.net email is sponsored by D= B2 Express> >>>> Download DB2 Express C - the FREE version of DB2 express a= nd take> >>>> control of your XML. No limits. Just data. Click to get it no= w.> >>>> http://sourceforge.net/powerbar/db2/> >>>>> >>>> > >> ------------= ------------------------------------------------------------> >> > >>>> ___= ____________________________________________> >>>> opensipstack-devel maili= ng list> >>>> ope...@li...> >>>> https://lists.= sourceforge.net/lists/listinfo/opensipstack-devel> >>>>> >>>> > >>> --> >>>= Joegen E. Baclor> >>> CTO - Solegy LLC> >>>> >>> Email: joegen @ solegy.co= m> >>> Main: +1 212 801 2504> >>> Fax: +1 347 438 3072> >>> Manila: +63 2 7= 47 3460> >>> Mobile: +63 918 411 9064> >>>> >>> 121 Varick St., Suite 201> = >>> NY, NY 10013> >>>> >>> SOLEGY LLC> >>> http://www.solegy.com> >>> Solut= ions to Fit Your Strategy> >>>> >>>> >>> > >> -----------------------------= -------------------------------------------> >> Se uno de los primeros en p= robar Windows Live Mail. Windows Live Mail. > >> <http://ideas.live.com/pro= grampage.aspx?versionId=3D5d21c51a-b161-4314-9b0e-4911fb2b2e6d>> >> > >> >>= >> > ---------------------------------------------------------------------= ----> > This SF.net email is sponsored by DB2 Express> > Download DB2 Expre= ss C - the FREE version of DB2 express and take> > control of your XML. No = limits. Just data. Click to get it now.> > http://sourceforge.net/powerbar/= db2/> > _______________________________________________> > opensipstack-dev= el mailing list> > ope...@li...> > https://list= s.sourceforge.net/lists/listinfo/opensipstack-devel> >> > > > > -----------= --------------------------------------------------------------> This SF.net= email is sponsored by DB2 Express> Download DB2 Express C - the FREE versi= on of DB2 express and take> control of your XML. No limits. Just data. Clic= k to get it now.> http://sourceforge.net/powerbar/db2/> ___________________= ____________________________> opensipstack-devel mailing list> opensipstack= -d...@li...> https://lists.sourceforge.net/lists/listinfo/= opensipstack-devel _________________________________________________________________ Descubre Live.com - tu mundo en l=EDnea reunido: noticias, deportes, el tie= mpo, y mucho m=E1s. http://www.live.com/getstarted= |