Thread: Re: [OpenSIPStack] FW: FW: OpenSBC as Forking Proxy
Brought to you by:
joegenbaclor
From: Gustavo C. <cur...@ho...> - 2007-06-20 16:03:53
|
Joegen: =20 The fix works fine. But i have the following problem: When i hang up and se= nd a Cancel to OpenSBC, the OpenSBC respond with Code487_RequestCancelled b= ut the Cancel is not been send to the actual target, the Cancel is just rou= ted again. Thanks for your help. =20 Gustavo > Date: Wed, 13 Jun 2007 22:15:14 +0800> To: cur...@gm...; ope= nsi...@li...> Subject: Re: [OpenSIPStack] FW: FW: = OpenSBC as Forking Proxy> From: joe...@gm...> > I've just checke= d in a fix for this in CVS. > > Gustavo 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 > > i= s increased from 0 to 1.> > > > Then the via is changed (+ "-") and with th= is change when > > FindTransactionAndAddEvent() is called a new transaction= is created.> > In SIPTransaction::SIPTransaction() m_FailOverAttempts is i= nitialized > > to 0. Then when DoDNSFailover() is called again, the same ta= rget is used.> > > > Gustavo> >> > ----------------------------------------= --------------------------------> > From: cur...@ho...> > To= : jb...@so...> > Subject: RE: [OpenSIPStack] FW: OpenSBC as F= orking Proxy> > Date: Wed, 30 May 2007 14:43:32 +0200> >> > Joegen,> > > > = Thanks a lot. I will try to change the behavior.> >> > Gustavo> >> >> > ---= ---------------------------------------------------------------------> >> >= > Date: Fri, 18 May 2007 08:15:20 +0800> > > From: jbaclor@solegysystems.c= om> > > To: cur...@gm...;> > ope...@li...urcefo= rge.net> > > Subject: Re: [OpenSIPStack] FW: OpenSBC as Forking Proxy> > >>= > > Gustavo,> > >> > > Sorry, I forgot to get back to you. If you have the= latest CVS head> > > code, check out BOOL SIPTransaction::DoDNSFailover() = in> > > SIPTransaction.cxx. I have committed this a few days ago to> > > de= monstrate fail-over by forking 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 inste= ad of DNS/SRV queries.> > >> > > Joegen> > >> > >> > > Gustavo Curetti wrot= e:> > > >> > > > Joegen:> > > >> > > > I don't understand how to create a n= ew client transaction when> > the> > > > first invite fail in the FSM layer= . Could you give some> > directions,> > > > please?> > > >> > > > Thanks fo= r your help.> > > >> > > > Gustavo.> > > >> > > >> > > >> > > >> > --------= ----------------------------------------------------------------> > > > Fro= m: cur...@ho...> > > > To: jb...@so...> > > > = Subject: RE: [OpenSIPStack] OpenSBC as Forking Proxy> > > > Date: Mon, 14 M= ay 2007 16:18:57 +0200> > > >> > > > Joegen:> > > >> > > > Thanks for your = help. Do you suggest to do the serial forking in> > > > FSM layer with a cu= stom header?.Must each new try create a new> > > > client transaction?> > >= >> > > > Thanks> > > > Gustavo> > > >> > > >> > --------------------------= ----------------------------------------------> > > >> > > > > Date: Thu, 1= 0 May 2007 13:28:29 +0800> > > > > From: jb...@so...> > > > >= To: cur...@gm...> > > > > Subject: Re: [OpenSIPStack] 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 mechanism to clone> > transactions and> > >= > > this is not 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 know when I have something = you can use> > > > cleanly to> > > > > fork your calls. Perhaps over the we= ekend, but that isn't a> > promise.> > > > >> > > > > Joegen> > > > >> > > = > > Gustavo Curetti wrote:> > > > > > Joegen:> > > > > >> > > > > > What I = want to do is a very simple sequential search. When one> > > > > > destinat= ion don't answer or reject the call I want the OpenSBC> > > > try> > > > > = > another.> > > > > >> > > > > > I made the following changes in the code f= or timer B> > > > expiration just> > > > > > for do some tests:> > > > > >>= > > > > > void ProxySessionManager::OnTimerExpire(> > > > > > SIPTimerExpi= re & timerEvent,> > > > > > SIPSession * session> > > > > > )> > > > > > {>= > > > > > if( session !=3D NULL )> > > > > > {> > > > > > LOG_IF_DEBUG( Lo= gWarning(), "*** TIMER EXPIRATION *** for SIP> > > > > > Session " << sessi= on->GetSessionId() );> > > > > > if( timerEvent.GetTimer() =3D=3D> > SIPTra= nsactions::SIPTimerEvent::B)> > > > > > {> > > > > > SIPMessage msg =3D ((P= roxySession> > *)session)->GetOriginalInvite();> > > > > > session->Enqueue= SessionEvent( new SIPSessionEvent(> > *session, 1,> > > > > > msg ) );> > >= > > > }> > > > > > session->OnTimerExpire( timerEvent );> > > > > > }> > >= > > > }> > > > > >> > > > > > and> > > > > >> > > > > > void ProxySession:= :OnTimerExpire(> > > > > > SIPTimerExpire & timerEvent> > > > > > )> > > > = > > {> > > > > > GCREF( "SIPSession::OnTimerExpire" );> > > > > > if( timer= Event.GetTimer() =3D=3D> > SIPTransactions::SIPTimerEvent::B ||> > > > > > = timerEvent.GetTimer() =3D=3D SIPTransactions::SIPTimerEvent::F )> > > > > >= {> > > > > > ///this is an ICT timeout> > > > > > SIPMessage timeout;> > >= > > > GetCurrentUASRequest().CreateResponse( timeout,> > > > > > SIPMessag= e::Code480_TemporarilyNotAvailable );> > > > > > SendRequest( timeout );> >= > > > > }> > > > > >> > > > > > //Destroy();> > > > > > }> > > > > >> > > = > > > With these changes and a relay route:> > > > > >> > > > > > [sip:*@19= 2.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 headers with a list desti= nation> > > > addresses> > > > > > instead of the relay routes and to do th= e same in case of a> > > > reject. Do> > > > > > you have any suggestions?>= > > > > >> > > > > > Other question: Can i have two active ICT for a sessi= on?> > > > Because in> > > > > > the case of reject, I must start a new ICT= for trying the next> > > > > > destination but canceling throw the first I= CT at the same> > time.> > > > > >> > > > > > Thanks for your help.> > > > = > >> > > > > > Gustavo> > > > > >> > > > > >> > > >> > --------------------= ----------------------------------------------------> > > > > >> > > > > > = > Date: Sat, 5 May 2007 13:50:44 +0800> > > > > > > From: jbaclor@solegysys= tems.com> > > > > > > To: cur...@gm...;> > > > opensipstack-de= ve...@li...> > > > > > > Subject: Re: [OpenSIPStack] OpenSBC = as Forking Proxy> > > > > > >> > > > > > > Gustavo,> > > > > > >> > > > > >= > Forking is not supported yet in OpenSBC.> > > > > > >> > > > > > > Joege= n> > > > > > >> > > > > > > Gustavo Curetti wrote:> > > > > > > >> > > > > = > > > Hi Joegen:> > > > > > > >> > > > > > > > I want to use the OpenSBC as= a Forking Proxy. I want> > that the> > > > > > > > OpenSBC try the differe= nts Relays Routes one by one. Could> > > > you give> > > > > > > > some dir= ections, 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 sitio.> > > > todo en el> > > > > > > > mismo s= itio. <http://www.live.com/getstarted>> > > > > > > >> > > > > >> > > >> > = ------------------------------------------------------------------------> >= > > > > > >> > > > > > > >> > > > > >> > > >> > --------------------------= -----------------------------------------------> > > > > > > > This SF.net = email is sponsored by DB2 Express> > > > > > > > Download DB2 Express C - t= he FREE version of DB2 express> > > > and take> > > > > > > > control of yo= ur XML. No limits. Just data. Click to get it> > > > now.> > > > > > > > ht= tp://sourceforge.net/powerbar/db2/> > > > > > > >> > > > > >> > > >> > ----= --------------------------------------------------------------------> > > >= > > > >> > > > > > > > _______________________________________________> > = > > > > > > opensipstack-devel mailing list> > > > > > > > opensipstack-dev= el...@li...> > > > > > > >> > > > https://lists.sourceforge.ne= t/lists/listinfo/opensipstack-devel> > > > > > > >> > > > > > >> > > > > > = >> > > > > > >> > > > > >> > > >> > ---------------------------------------= ----------------------------------> > > > > > > This SF.net email is sponso= red by DB2 Express> > > > > > > Download DB2 Express C - the FREE version o= f DB2 express and> > > > take> > > > > > > control of your XML. No limits. = Just data. Click to get> > it now.> > > > > > > http://sourceforge.net/powe= rbar/db2/> > > > > > > _______________________________________________> > >= > > > > opensipstack-devel mailing list> > > > > > > opensipstack-devel@li= sts.sourceforge.net> > > > > > >> > https://lists.sourceforge.net/lists/lis= tinfo/opensipstack-devel> > > > > >> > > > > >> > > > > >> > > >> > -------= -----------------------------------------------------------------> > > > > = > Se uno de los primeros en probar Windows Live Mail. Windows> > > > Live M= ail.> > > > > >> > > >> > <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=3D5d21c5= 1a-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-b161-4314-9b= 0e-4911fb2b2e6d>> > >> > >> > >> > ----------------------------------------= ---------------------------------> > > This SF.net email is sponsored by DB= 2 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-devel mailing list> > > opensipstack-= de...@li...> > > https://lists.sourceforge.net/lists/listin= fo/opensipstack-devel> >> >> > --------------------------------------------= ----------------------------> > Se uno de los primeros en probar Windows Li= ve Mail. Windows Live> > Mail.> > <http://ideas.live.com/programpage.aspx?v= ersionId=3D5d21c51a-b161-4314-9b0e-4911fb2b2e6d>> >> >> >> > --------------= ----------------------------------------------------------> > Comun=EDcate = al instante con Windows Live Messenger Windows Live > > Messenger > > <http= ://imagine-msn.com/messenger/launch80/default.aspx?locale=3Des-ar&source=3D= joinmsncom/messenger> > >> > ----------------------------------------------= --------------------------> >> > ------------------------------------------= -------------------------------> > This SF.net email is sponsored by DB2 Ex= press> > 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-devel mailing list> > opensipstack-devel@lists.= sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/opensipstac= k-devel> > > > > -- > Joegen E. Baclor> CTO - Solegy LLC> > Email: joegen @= solegy.com> Main: +1 212 801 2504> Fax: +1 347 438 3072> Manila: +63 2 747= 3460> Mobile: +63 918 411 9064> > 121 Varick St., Suite 201> NY, NY 10013>= > SOLEGY LLC> http://www.solegy.com> Solutions to Fit Your Strategy> >=20 _________________________________________________________________ Descubre Live.com - tu mundo en l=EDnea reunido: noticias, deportes, el tie= mpo, y mucho m=E1s. http://www.live.com/getstarted= |
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= |
From: Joegen E. B. <joe...@gm...> - 2007-07-04 07:06:15
|
Gustavo Curetti wrote: > Hi Joegen: > > I don't have a call sesion, i have a proxy session. The cancel is sent > to the m_DialogPeerAddress for a proxy session. I have added the > following code: > > void ProxySession::OnDNSFailOver( > SIPDNSFailOver & failOverEvent > ) > { > SIPMessage msg = failOverEvent.GetMessage(); > if( msg.IsInvite() ) > { > SIPURI targetURI; > msg.GetRequestURI(targetURI); > SetDialogPeerAddress( targetURI.AsString() ); > } > } I have patched CVS accordingly. > > 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 actual target and with the followings. The ICT transaction > must stop trying. Could you give some directions, please? I think this is a compliant behavior. Don't you want the UA to know that the UAS is actually down? I have checked 3261 again and paragraph indicates that a proxy MAY send a response to the CANCEL and generate a new transaction towards the UAS. This is not a MUST and is left to the implementors to decide on. I am open to discuss this further if you think it is a better approach to handle extra state in the proxy for cancelling transaction. My main reason for doing this is to make proxy transactions light and I would favor to let it stay that way. 9.2 Server Behavior The CANCEL method requests that the TU at the server side cancel a pending transaction. The TU determines the transaction to be cancelled by taking the CANCEL request, and then assuming that the request method is anything but CANCEL or ACK and applying the transaction matching procedures of Section 17.2.3. The matching transaction is the one to be cancelled. The processing of a CANCEL request at a server depends on the type of server. A stateless proxy will forward it, a stateful proxy might respond to it and generate some CANCEL requests of its own, and a UAS will respond to it. See Section 16.10 for proxy treatment of CANCEL. > > Thanks for your help. > Gustavo. > > ------------------------------------------------------------------------ > > > Date: Tue, 26 Jun 2007 15:23:39 +0800 > > From: jb...@so... > > To: 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 simple actually. I just > > propagated a SIPDNSFailOver stack event to the call session and made > > sure that m_CurrentUACInvite is replaced. Can you check 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 send a Cancel to OpenSBC, the OpenSBC respond with > > >> Code487_RequestCancelled 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: cur...@gm...; > ope...@li... > > >>> Subject: Re: [OpenSIPStack] FW: FW: OpenSBC as Forking Proxy > > >>> From: joe...@gm... > > >>> > > >>> I've just checked in a fix for this in CVS. > > >>> > > >>> Gustavo 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 to 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... > > >>>> Subject: RE: [OpenSIPStack] FW: OpenSBC as Forking Proxy > > >>>> Date: Wed, 30 May 2007 14:43:32 +0200 > > >>>> > > >>>> Joegen, > > >>>> > > >>>> Thanks a lot. I will try to change the behavior. > > >>>> > > >>>> Gustavo > > >>>> > > >>>> > > >>>> > > >>>> > > >> > ------------------------------------------------------------------------ > > >> > > >>>>> Date: Fri, 18 May 2007 08:15:20 +0800 > > >>>>> From: jb...@so... > > >>>>> To: cur...@gm...; > > >>>>> > > >>>> ope...@li... > > >>>> > > >>>>> Subject: Re: [OpenSIPStack] FW: OpenSBC as Forking Proxy > > >>>>> > > >>>>> Gustavo, > > >>>>> > > >>>>> Sorry, I forgot to get back to you. If you have the latest CVS > head > > >>>>> code, check out BOOL SIPTransaction::DoDNSFailover() in > > >>>>> SIPTransaction.cxx. I have committed this a few days ago to > > >>>>> demonstrate fail-over by forking 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 create a new client transaction when > > >>>>>> > > >>>> the > > >>>> > > >>>>>> first invite fail in the FSM layer. Could you give some > > >>>>>> > > >>>> directions, > > >>>> > > >>>>>> 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 with a custom header?.Must each new try create a new > > >>>>>> client transaction? > > >>>>>> > > >>>>>> Thanks > > >>>>>> Gustavo > > >>>>>> > > >>>>>> > > >>>>>> > > >> > ------------------------------------------------------------------------ > > >> > > >>>>>>> Date: Thu, 10 May 2007 13:28:29 +0800 > > >>>>>>> From: jb...@so... > > >>>>>>> To: cur...@gm... > > >>>>>>> Subject: Re: [OpenSIPStack] 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 mechanism to clone > > >>>>>>> > > >>>> transactions and > > >>>> > > >>>>>>> this is not 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 know 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 is a very simple sequential search. When one > > >>>>>>>> destination don't answer or reject the call I want the OpenSBC > > >>>>>>>> > > >>>>>> try > > >>>>>> > > >>>>>>>> another. > > >>>>>>>> > > >>>>>>>> I made the following changes in the code for timer B > > >>>>>>>> > > >>>>>> expiration just > > >>>>>> > > >>>>>>>> for do some tests: > > >>>>>>>> > > >>>>>>>> void ProxySessionManager::OnTimerExpire( > > >>>>>>>> SIPTimerExpire & timerEvent, > > >>>>>>>> SIPSession * session > > >>>>>>>> ) > > >>>>>>>> { > > >>>>>>>> if( session != NULL ) > > >>>>>>>> { > > >>>>>>>> LOG_IF_DEBUG( LogWarning(), "*** TIMER EXPIRATION *** for SIP > > >>>>>>>> Session " << session->GetSessionId() ); > > >>>>>>>> if( timerEvent.GetTimer() == > > >>>>>>>> > > >>>> SIPTransactions::SIPTimerEvent::B) > > >>>> > > >>>>>>>> { > > >>>>>>>> SIPMessage msg = ((ProxySession > > >>>>>>>> > > >>>> *)session)->GetOriginalInvite(); > > >>>> > > >>>>>>>> session->EnqueueSessionEvent( new SIPSessionEvent( > > >>>>>>>> > > >>>> *session, 1, > > >>>> > > >>>>>>>> msg ) ); > > >>>>>>>> } > > >>>>>>>> session->OnTimerExpire( timerEvent ); > > >>>>>>>> } > > >>>>>>>> } > > >>>>>>>> > > >>>>>>>> and > > >>>>>>>> > > >>>>>>>> void ProxySession::OnTimerExpire( > > >>>>>>>> SIPTimerExpire & timerEvent > > >>>>>>>> ) > > >>>>>>>> { > > >>>>>>>> GCREF( "SIPSession::OnTimerExpire" ); > > >>>>>>>> if( timerEvent.GetTimer() == > > >>>>>>>> > > >>>> SIPTransactions::SIPTimerEvent::B || > > >>>> > > >>>>>>>> timerEvent.GetTimer() == SIPTransactions::SIPTimerEvent::F ) > > >>>>>>>> { > > >>>>>>>> ///this is an ICT timeout > > >>>>>>>> SIPMessage timeout; > > >>>>>>>> GetCurrentUASRequest().CreateResponse( timeout, > > >>>>>>>> SIPMessage::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 headers 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 new ICT for trying the next > > >>>>>>>> destination but canceling throw the first ICT at the same > > >>>>>>>> > > >>>> time. > > >>>> > > >>>>>>>> Thanks for your help. > > >>>>>>>> > > >>>>>>>> Gustavo > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >> > ------------------------------------------------------------------------ > > >> > > >>>>>>>>> Date: Sat, 5 May 2007 13:50:44 +0800 > > >>>>>>>>> From: jb...@so... > > >>>>>>>>> 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 Forking Proxy. I want > > >>>>>>>>>> > > >>>> that the > > >>>> > > >>>>>>>>>> OpenSBC try the differents Relays Routes one by one. Could > > >>>>>>>>>> > > >>>>>> you give > > >>>>>> > > >>>>>>>>>> some directions, please? > > >>>>>>>>>> > > >>>>>>>>>> Thanks for your help. > > >>>>>>>>>> > > >>>>>>>>>> Gustavo. > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >> > ------------------------------------------------------------------------ > > >> > > >>>>>>>>>> Descubre Live.com - tu propia página de inicio, > > >>>>>>>>>> > > >>>>>> personalizada para > > >>>>>> > > >>>>>>>> ver > > >>>>>>>> > > >>>>>>>>>> rápidamente todo lo que te interesa en un mismo sitio. > > >>>>>>>>>> > > >>>>>> 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://sourceforge.net/powerbar/db2/ > > >>>>>>>>>> > > >>>>>>>>>> > > >> > ------------------------------------------------------------------------ > > >> > > >>>>>>>>>> _______________________________________________ > > >>>>>>>>>> opensipstack-devel mailing list > > >>>>>>>>>> ope...@li... > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>> https://lists.sourceforge.net/lists/listinfo/opensipstack-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-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/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> > > >> > > >>>>>> > > >>>>>> > > >> > ------------------------------------------------------------------------ > > >> > > >>>>>> Se uno de los primeros en probar Windows Live Mail. Windows Live > > >>>>>> Mail. > > >>>>>> > > >>>>>> > > >> > <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> > > >> > > >>>>>> > > >>>>>> > > >>>>>> > > >> > ------------------------------------------------------------------------ > > >> > > >>>>>> Se uno de los primeros en probar Windows Live Mail. Windows > > >>>>>> > > >>>> Live Mail. > > >>>> > > >> > <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-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/ > > >>>>> _______________________________________________ > > >>>>> opensipstack-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/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> > > >> > > >>>> > > >>>> > > >>>> > > >> > ------------------------------------------------------------------------ > > >> > > >>>> Comunícate al instante con Windows Live Messenger Windows Live > > >>>> Messenger > > >>>> > > >>>> > > >> > <http://imagine-msn.com/messenger/launch80/default.aspx?locale=es-ar&source=joinmsncom/messenger> > > > >> > > >> > > >>>> > > >> > ------------------------------------------------------------------------ > > >> > > >>>> > > >> > ------------------------------------------------------------------------- > > >> > > >>>> 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-devel mailing list > > >>>> ope...@li... > > >>>> https://lists.sourceforge.net/lists/listinfo/opensipstack-devel > > >>>> > > >>>> > > >>> -- > > >>> Joegen E. Baclor > > >>> CTO - Solegy LLC > > >>> > > >>> Email: joegen @ solegy.com > > >>> Main: +1 212 801 2504 > > >>> Fax: +1 347 438 3072 > > >>> Manila: +63 2 747 3460 > > >>> Mobile: +63 918 411 9064 > > >>> > > >>> 121 Varick St., Suite 201 > > >>> NY, NY 10013 > > >>> > > >>> SOLEGY LLC > > >>> http://www.solegy.com > > >>> Solutions to Fit Your Strategy > > >>> > > >>> > > >>> > > >> > ------------------------------------------------------------------------ > > >> Se uno de los primeros en probar Windows Live Mail. Windows Live > Mail. > > >> > <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-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/ > > > _______________________________________________ > > > opensipstack-devel mailing list > > > ope...@li... > > > https://lists.sourceforge.net/lists/listinfo/opensipstack-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-devel mailing list > > ope...@li... > > https://lists.sourceforge.net/lists/listinfo/opensipstack-devel > > > ------------------------------------------------------------------------ > Envía mensajes de correo electrónico directamente a tu blog con MSN. > Carga chistes, fotografías y muchas otras cosas. Es gratis. > <http://clk.atdmt.com/MSN/go/msnnksac0030000001msn/direct/01/?href=http://www.imagine-msn.com/spaces> |
From: Gustavo C. <cur...@ho...> - 2007-07-11 17:47:19
|
Hi Joegen: =20 I made changes in the code to avoid that the invite continue being sent whe= n sesion is being cancelled. When a cancel is received, after cancelling the Invite Server Transaction, = I terminate the Invite Client Transaction: =20 BOOL ProxySession::ValidateRequest(SIPMessage & request) { .... }else if( request.IsCancel() ) { m_SessionManager.GetUserAgent().GetS= tack().CancelInviteServerTransaction(m_Request); m_SessionManager.GetUse= rAgent().GetStack().TerminateInviteClientTransaction(m_CurrentUACRequest); = } } =20 BOOL SIPTransactionManager::TerminateInviteClientTransaction(const SIPMessa= ge & invite){ if( m_IsTerminating ) return FALSE; =20 PAssert( invite.IsInvite(), PLogicError ); =20 PWaitAndSignal lock( m_TransactionPoolMutex ); =20 TransactionId id =3D invite.GetTransactionId(); =20 if( id.AsString().IsEmpty() ) { LOG_IF_DEBUG( LogInfo(), "TerminateIn= viteClientTransaction() - Unable to match transaction because transaction-i= d is empty" ); return FALSE; } =20 id.SetStateMachine( "ICT" ); =20 SIPTransaction * transaction =3D m_TransactionPool.GetAt( id.AsString() )= ; if( transaction =3D=3D NULL ) { return FALSE; } transaction->Ter= minate(); =20 return TRUE;} =20 And in ProxySession::OnDNSFailOver(), the m_CurrentUACRequest is actualized= : =20 void ProxySession::OnDNSFailOver(SIPDNSFailOver & failOverEvent){ SIPMessag= e msg =3D failOverEvent.GetMessage(); =20 if( msg.IsInvite() ) { m_CurrentUACRequest =3D msg.AsString(); SIPURI ta= rgetURI; msg.GetRequestURI(targetURI); SetDialogPeerAddress( targetURI.As= String() ); }} First, I tried:m_CurrentUACRequest =3D msg;But the m_CurrentUACRequest was = not actualized, because the=20 m_InternalId was the same for both messages and: =20 SIPMessage & SIPMessage::operator=3D(const SIPMessage & msg) { if( msg.m_InternalId =3D=3D m_InternalId ) return *this; ... } =20 Then i used the AsString(): =20 m_CurrentUACRequest =3D msg.AsString(); =20 I know this is not the best solution, then if you could suggest a better on= e please let me know. Maybe in=20 SIPTransaction::DoDNSFailover(), changing : =20 SIPMessage request =3D m_OpeningRequest; =20 I attach the sip flows before and after the changes in the code, the second= sip flow is more normal. =20 Thanks for your help. =20 Gustavo =20 =20 > Date: Wed, 4 Jul 2007 15:06:09 +0800> To: cur...@gm...> From= : joe...@gm...> CC: ope...@li...> Su= bject: Re: [OpenSIPStack] FW: FW: OpenSBC as Forking Proxy> > Gustavo Curet= ti wrote:> > Hi Joegen:> > > > I don't have a call sesion, i have a proxy s= ession. The cancel is sent > > to the m_DialogPeerAddress for a proxy sessi= on. I have added the > > following code:> > > > void ProxySession::OnDNSFai= lOver(> > SIPDNSFailOver & failOverEvent> > )> > {> > SIPMessage msg =3D fa= ilOverEvent.GetMessage();> > if( msg.IsInvite() )> > {> > SIPURI targetURI;= > > msg.GetRequestURI(targetURI);> > SetDialogPeerAddress( targetURI.AsStri= ng() );> > }> > }> > I have patched CVS accordingly.> > > > > > Then the ca= ncel is sent to the actual target of the ICT transaction, > > but if the ac= tual target is not answering, the ICT continue trying > > with the actual t= arget and with the followings. The ICT transaction > > must stop trying. Co= uld you give some directions, please?> > I think this is a compliant behavi= or. Don't you want the UA to know > that the UAS is actually down? I have c= hecked 3261 again and paragraph > indicates that a proxy MAY send a respons= e to the CANCEL and generate a > new transaction towards the UAS. This is n= ot a MUST and is left to the > implementors to decide on. I am open to disc= uss this further if you > think it is a better approach to handle extra sta= te in the proxy for > cancelling transaction. My main reason for doing this= is to make proxy > transactions light and I would favor to let it stay tha= t way.> > 9.2 Server Behavior> > The CANCEL method requests that the TU at = the server side cancel a> pending transaction. The TU determines the transa= ction to be> cancelled by taking the CANCEL request, and then assuming that= the> request method is anything but CANCEL or ACK and applying the> transa= ction matching procedures of Section 17.2.3. The matching> transaction is t= he one to be cancelled.> > The processing of a CANCEL request at a server d= epends on the type of> server. A stateless proxy will forward it, a statefu= l proxy might> respond to it and generate some CANCEL requests of its own, = and a UAS> will respond to it. See Section 16.10 for proxy treatment of CAN= CEL.> > > > > >> > Thanks for your help.> > Gustavo.> > > > ---------------= ---------------------------------------------------------> >> > > Date: Tue= , 26 Jun 2007 15:23:39 +0800> > > From: jb...@so...> > > To: = jb...@so...; ope...@li...> > > CC= : cur...@gm...> > > Subject: Re: [OpenSIPStack] FW: FW: OpenSB= C as Forking Proxy> > >> > > Hi Gustavo,> > >> > > I have committed a fix o= f this. It's very simple actually. I just> > > propagated a SIPDNSFailOver = stack event to the call session and made> > > sure that m_CurrentUACInvite = is replaced. Can you check if this is a> > > safe change? Thanks.> > >> > >= Joegen> > >> > >> > > Joegen E. Baclor wrote:> > > > Hmmmn thats TRUE. Lem= me dig further. I'll let you know once a fix is> > > > available.> > > >> >= > >> > > > Gustavo Curetti wrote:> > > >> > > >> Joegen:> > > >>> > > >> T= he fix works fine. But i have the following problem: When i hang up> > > >>= and send a Cancel to OpenSBC, the OpenSBC respond with> > > >> Code487_Req= uestCancelled but the Cancel is not been send to the > > actual> > > >> tar= get, the Cancel is just routed again.> > > >>> > > >> Thanks for your help.= > > > >>> > > >> Gustavo> > > >>> > > >> > > ------------------------------= ------------------------------------------> > > >>> > > >>> > > >>> Date: W= ed, 13 Jun 2007 22:15:14 +0800> > > >>> To: cur...@gm...; > > = ope...@li...> > > >>> Subject: Re: [OpenSIPStac= k] FW: FW: OpenSBC as Forking Proxy> > > >>> From: joe...@gm...>= > > >>>> > > >>> I've just checked in a fix for this in CVS.> > > >>>> > >= >>> Gustavo Curetti wrote:> > > >>>> > > >>>> Joegen,> > > >>>>> > > >>>> = I tried the DoDNSFailover's code but i have the following behavior:> > > >>= >>> > > >>>> When DoDNSFailover() is called for the first time > > m_FailOv= erAttempts> > > >>>> is increased from 0 to 1.> > > >>>>> > > >>>> Then the= via is changed (+ "-") and with this change when> > > >>>> FindTransaction= AndAddEvent() is called a new transaction is > > created.> > > >>>> In SIPT= ransaction::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...> > > >>>> Subject: RE: [OpenSIPStack] FW: OpenSB= C as Forking Proxy> > > >>>> Date: Wed, 30 May 2007 14:43:32 +0200> > > >>>= >> > > >>>> Joegen,> > > >>>>> > > >>>> Thanks a lot. I will try to change = the behavior.> > > >>>>> > > >>>> Gustavo> > > >>>>> > > >>>>> > > >>>>> > = > >>>>> > > >> > > --------------------------------------------------------= ----------------> > > >>> > > >>>>> Date: Fri, 18 May 2007 08:15:20 +0800> = > > >>>>> From: jb...@so...> > > >>>>> To: curetti.gustavo@gm= ail.com;> > > >>>>>> > > >>>> ope...@li...> > >= >>>>> > > >>>>> Subject: Re: [OpenSIPStack] FW: OpenSBC as Forking Proxy> = > > >>>>>> > > >>>>> Gustavo,> > > >>>>>> > > >>>>> Sorry, I forgot 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 fo= rking using DNS/SRV records. New> > > >>>>> transactions are created by cal= ling> > > >>>>>> > > >>>> 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 create a new cl= ient transaction when> > > >>>>>>> > > >>>> the> > > >>>>> > > >>>>>> first= invite fail in the FSM layer. Could you give some> > > >>>>>>> > > >>>> di= rections,> > > >>>>> > > >>>>>> please?> > > >>>>>>> > > >>>>>> Thanks for = your help.> > > >>>>>>> > > >>>>>> Gustavo.> > > >>>>>>> > > >>>>>>> > > >>= >>>>> > > >>>>>>> > > >>>>>>> > > >> > > ----------------------------------= --------------------------------------> > > >>> > > >>>>>> From: curetti_gu= st...@ho...> > > >>>>>> To: jb...@so...> > > >>>>>> Sub= ject: 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 with a custom header?.Must each new try create a new> > >= >>>>>> client transaction?> > > >>>>>>> > > >>>>>> Thanks> > > >>>>>> Gust= avo> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >> > > -----------------------= -------------------------------------------------> > > >>> > > >>>>>>> Date= : Thu, 10 May 2007 13:28:29 +0800> > > >>>>>>> From: jbaclor@solegysystems.= 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 s= pawning an> > > >>>>>>>> > > >>>>>> outbound> > > >>>>>>> > > >>>>>>> invit= e. There should be a clean mechanism to clone> > > >>>>>>>> > > >>>> transa= ctions and> > > >>>>> > > >>>>>>> this is not 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 know = 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 is a very simple sequential = search. When one> > > >>>>>>>> destination don't answer or reject the call = I want the OpenSBC> > > >>>>>>>>> > > >>>>>> try> > > >>>>>>> > > >>>>>>>> = another.> > > >>>>>>>>> > > >>>>>>>> I made the following changes in the co= de for timer B> > > >>>>>>>>> > > >>>>>> expiration just> > > >>>>>>> > > >= >>>>>>> for do some tests:> > > >>>>>>>>> > > >>>>>>>> void ProxySessionMan= ager::OnTimerExpire(> > > >>>>>>>> SIPTimerExpire & timerEvent,> > > >>>>>>= >> SIPSession * session> > > >>>>>>>> )> > > >>>>>>>> {> > > >>>>>>>> if( s= ession !=3D NULL )> > > >>>>>>>> {> > > >>>>>>>> LOG_IF_DEBUG( LogWarning()= , "*** TIMER EXPIRATION *** for SIP> > > >>>>>>>> Session " << session->Get= SessionId() );> > > >>>>>>>> if( timerEvent.GetTimer() =3D=3D> > > >>>>>>>>= > > > >>>> SIPTransactions::SIPTimerEvent::B)> > > >>>>> > > >>>>>>>> {> > = > >>>>>>>> SIPMessage msg =3D ((ProxySession> > > >>>>>>>>> > > >>>> *)sess= ion)->GetOriginalInvite();> > > >>>>> > > >>>>>>>> session->EnqueueSessionE= vent( new SIPSessionEvent(> > > >>>>>>>>> > > >>>> *session, 1,> > > >>>>> = > > >>>>>>>> msg ) );> > > >>>>>>>> }> > > >>>>>>>> session->OnTimerExpire(= timerEvent );> > > >>>>>>>> }> > > >>>>>>>> }> > > >>>>>>>>> > > >>>>>>>> = and> > > >>>>>>>>> > > >>>>>>>> void ProxySession::OnTimerExpire(> > > >>>>= >>>> SIPTimerExpire & timerEvent> > > >>>>>>>> )> > > >>>>>>>> {> > > >>>>>= >>> GCREF( "SIPSession::OnTimerExpire" );> > > >>>>>>>> if( timerEvent.GetT= imer() =3D=3D> > > >>>>>>>>> > > >>>> SIPTransactions::SIPTimerEvent::B ||>= > > >>>>> > > >>>>>>>> timerEvent.GetTimer() =3D=3D SIPTransactions::SIPTi= merEvent::F )> > > >>>>>>>> {> > > >>>>>>>> ///this is an ICT timeout> > > = >>>>>>>> SIPMessage timeout;> > > >>>>>>>> GetCurrentUASRequest().CreateRes= ponse( timeout,> > > >>>>>>>> SIPMessage::Code480_TemporarilyNotAvailable )= ;> > > >>>>>>>> SendRequest( timeout );> > > >>>>>>>> }> > > >>>>>>>>> > > = >>>>>>>> //Destroy();> > > >>>>>>>> }> > > >>>>>>>>> > > >>>>>>>> With thes= e changes and a relay route:> > > >>>>>>>>> > > >>>>>>>> [sip:*@192.168.0.2= 07:*] 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 headers with a list destination> > > >>>>>>>>> > > >= >>>>> addresses> > > >>>>>>> > > >>>>>>>> instead of the relay routes and t= o 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 n= ew ICT for trying the next> > > >>>>>>>> destination but canceling throw th= e first ICT at the same> > > >>>>>>>>> > > >>>> time.> > > >>>>> > > >>>>>>= >> Thanks for your help.> > > >>>>>>>>> > > >>>>>>>> Gustavo> > > >>>>>>>>>= > > >>>>>>>>> > > >>>>>>>>> > > >> > > -----------------------------------= -------------------------------------> > > >>> > > >>>>>>>>> Date: Sat, 5 M= ay 2007 13:50:44 +0800> > > >>>>>>>>> From: jb...@so...> > > = >>>>>>>>> To: cur...@gm...;> > > >>>>>>>>>> > > >>>>>> opensip= sta...@li...> > > >>>>>>> > > >>>>>>>>> Subject: Re: [= OpenSIPStack] OpenSBC as Forking Proxy> > > >>>>>>>>>> > > >>>>>>>>> Gustav= o,> > > >>>>>>>>>> > > >>>>>>>>> Forking is not supported yet in OpenSBC.> = > > >>>>>>>>>> > > >>>>>>>>> Joegen> > > >>>>>>>>>> > > >>>>>>>>> Gustavo C= uretti wrote:> > > >>>>>>>>>> > > >>>>>>>>>> Hi Joegen:> > > >>>>>>>>>>> > = > >>>>>>>>>> I want to use the OpenSBC as a Forking Proxy. I want> > > >>>>= >>>>>>> > > >>>> that the> > > >>>>> > > >>>>>>>>>> OpenSBC try the differe= nts 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 sitio.> > > >>>= >>>>>>>> > > >>>>>> todo en el> > > >>>>>>> > > >>>>>>>>>> mismo sitio. <ht= tp://www.live.com/getstarted>> > > >>>>>>>>>>> > > >>>>>>>>>>> > > >> > > -= -----------------------------------------------------------------------> > = > >>> > > >>>>>>>>>>> > > >> > > ------------------------------------------= -------------------------------> > > >>> > > >>>>>>>>>> This SF.net email i= s sponsored by DB2 Express> > > >>>>>>>>>> Download DB2 Express C - the FRE= E version of DB2 express> > > >>>>>>>>>>> > > >>>>>> and take> > > >>>>>>> = > > >>>>>>>>>> control of your XML. No limits. Just data. Click to get it> = > > >>>>>>>>>>> > > >>>>>> now.> > > >>>>>>> > > >>>>>>>>>> http://sourcefo= rge.net/powerbar/db2/> > > >>>>>>>>>>> > > >>>>>>>>>>> > > >> > > ---------= ---------------------------------------------------------------> > > >>> > = > >>>>>>>>>> _______________________________________________> > > >>>>>>>>>= > opensipstack-devel mailing list> > > >>>>>>>>>> opensipstack-devel@lists.= sourceforge.net> > > >>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>> https://lists.s= ourceforge.net/lists/listinfo/opensipstack-devel> > > >>>>>>> > > >>>>>>>>>= > > > >>>>>>>>>> > > >> > > -----------------------------------------------= --------------------------> > > >>> > > >>>>>>>>> This SF.net email is spon= sored by DB2 Express> > > >>>>>>>>> Download DB2 Express C - the FREE versi= on of DB2 express and> > > >>>>>>>>>> > > >>>>>> take> > > >>>>>>> > > >>>>= >>>>> control of your XML. No limits. Just data. Click to get> > > >>>>>>>>= >> > > >>>> it now.> > > >>>>> > > >>>>>>>>> http://sourceforge.net/powerba= r/db2/> > > >>>>>>>>> _______________________________________________> > > = >>>>>>>>> opensipstack-devel mailing list> > > >>>>>>>>> opensipstack-devel= @lists.sourceforge.net> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>> https://list= s.sourceforge.net/lists/listinfo/opensipstack-devel> > > >>>>> > > >>>>>>>>= > > > >>>>>>>>> > > >> > > ------------------------------------------------= ------------------------> > > >>> > > >>>>>>>> Se uno de los primeros en pr= obar Windows Live Mail. Windows> > > >>>>>>>>> > > >>>>>> Live Mail.> > > >= >>>>>> > > >> > > <http://ideas.live.com/programpage.aspx?versionId=3D5d21c= 51a-b161-4314-9b0e-4911fb2b2e6d>> > > >>> > > >>>>>>> > > >>>>>>> > > >> > = > ------------------------------------------------------------------------>= > > >>> > > >>>>>> Se uno de los primeros en probar Windows Live Mail. Win= dows Live> > > >>>>>> Mail.> > > >>>>>>> > > >>>>>>> > > >> > > <http://ide= as.live.com/programpage.aspx?versionId=3D5d21c51a-b161-4314-9b0e-4911fb2b2e= 6d>> > > >>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >> > > ---------------= ---------------------------------------------------------> > > >>> > > >>>>= >> 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>> > > >>> > > >>>>= >> > > >>>>>> > > >> > > --------------------------------------------------= -----------------------> > > >>> > > >>>>> This SF.net email is sponsored b= y DB2 Express> > > >>>>> Download DB2 Express C - the FREE version of DB2 e= xpress 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/opensipstack-devel> > > >>= >>>> > > >>>>> > > >>>>> > > >> > > ---------------------------------------= ---------------------------------> > > >>> > > >>>> Se uno de los primeros = en probar Windows Live Mail. Windows Live> > > >>>> Mail.> > > >>>>> > > >>= >>> > > >> > > <http://ideas.live.com/programpage.aspx?versionId=3D5d21c51a= -b161-4314-9b0e-4911fb2b2e6d>> > > >>> > > >>>>> > > >>>>> > > >>>>> > > >>= > > ----------------------------------------------------------------------= --> > > >>> > > >>>> Comun=EDcate al instante con Windows Live Messenger Wi= ndows Live> > > >>>> Messenger> > > >>>>> > > >>>>> > > >> > > <http://imag= ine-msn.com/messenger/launch80/default.aspx?locale=3Des-ar&source=3Djoinmsn= com/messenger> > >> > > >>> > > >>> > > >>>>> > > >> > > ------------------= ------------------------------------------------------> > > >>> > > >>>>> >= > >> > > -----------------------------------------------------------------= --------> > > >>> > > >>>> 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-devel mailing list> > > >>>> ope...@li...urcef= orge.net> > > >>>> https://lists.sourceforge.net/lists/listinfo/opensipstac= k-devel> > > >>>>> > > >>>>> > > >>> --> > > >>> Joegen E. Baclor> > > >>> = CTO - Solegy LLC> > > >>>> > > >>> Email: joegen @ solegy.com> > > >>> Main= : +1 212 801 2504> > > >>> Fax: +1 347 438 3072> > > >>> Manila: +63 2 747 = 3460> > > >>> Mobile: +63 918 411 9064> > > >>>> > > >>> 121 Varick St., Su= ite 201> > > >>> NY, NY 10013> > > >>>> > > >>> SOLEGY LLC> > > >>> http://= www.solegy.com> > > >>> Solutions to Fit Your Strategy> > > >>>> > > >>>> >= > >>>> > > >> > > --------------------------------------------------------= ----------------> > > >> Se uno de los primeros en probar Windows Live Mail= . Windows Live > > Mail.> > > >> > > <http://ideas.live.com/programpage.asp= x?versionId=3D5d21c51a-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> > > > c= ontrol of your XML. No limits. Just data. Click to get it now.> > > > http:= //sourceforge.net/powerbar/db2/> > > > ____________________________________= ___________> > > > opensipstack-devel mailing list> > > > opensipstack-deve= l...@li...> > > > https://lists.sourceforge.net/lists/listinfo= /opensipstack-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. Cli= ck to get it now.> > > http://sourceforge.net/powerbar/db2/> > > __________= _____________________________________> > > opensipstack-devel mailing list>= > > ope...@li...> > > https://lists.sourceforg= e.net/lists/listinfo/opensipstack-devel> >> >> > --------------------------= ----------------------------------------------> > Env=EDa mensajes de corre= o electr=F3nico directamente a tu blog con MSN. > > Carga chistes, fotograf= =EDas y muchas otras cosas. Es gratis. > > <http://clk.atdmt.com/MSN/go/msn= nksac0030000001msn/direct/01/?href=3Dhttp://www.imagine-msn.com/spaces>> > = > -------------------------------------------------------------------------= > This SF.net email is sponsored by DB2 Express> Download DB2 Express C - t= he FREE version of DB2 express and take> control of your XML. No limits. Ju= st data. Click to get it now.> http://sourceforge.net/powerbar/db2/> ______= _________________________________________> opensipstack-devel mailing list>= ope...@li...> https://lists.sourceforge.net/li= sts/listinfo/opensipstack-devel _________________________________________________________________ Expr=E9sate - dise=F1a tu p=E1gina de inicio de Live.com como m=E1s te gust= e. http://www.live.com/getstarted= |
From: Joegen E. B. <joe...@gm...> - 2007-07-17 01:42:12
|
Hi Gustavo, Can send a diff versus current CVS HEAD? Joegen Gustavo Curetti wrote: > Hi Joegen: > > I made changes in the code to avoid that the invite continue being > sent when sesion is being cancelled. > When a cancel is received, after cancelling the Invite Server > Transaction, I terminate the Invite Client Transaction: > > /BOOL ProxySession::ValidateRequest(SIPMessage & request)/ > /{/ > /..../ > / }else if( request.IsCancel() ) > { > > m_SessionManager.GetUserAgent().GetStack().CancelInviteServerTransaction(m_Request); > > m_SessionManager.GetUserAgent().GetStack().TerminateInviteClientTransaction(m_CurrentUACRequest); > }/ > /}/ > // > /BOOL SIPTransactionManager::TerminateInviteClientTransaction(const > SIPMessage & invite) > { > if( m_IsTerminating ) > return FALSE;/ > // > / PAssert( invite.IsInvite(), PLogicError );/ > // > / PWaitAndSignal lock( m_TransactionPoolMutex );/ > // > / TransactionId id = invite.GetTransactionId();/ > // > / if( id.AsString().IsEmpty() ) > { > LOG_IF_DEBUG( LogInfo(), "TerminateInviteClientTransaction() - > Unable to match transaction because transaction-id is empty" ); > return FALSE; > }/ > // > / id.SetStateMachine( "ICT" );/ > // > / SIPTransaction * transaction = m_TransactionPool.GetAt( > id.AsString() ); > if( transaction == NULL ) > { > return FALSE; > } > > transaction->Terminate();/ > // > / return TRUE; > }/ > > > And in ProxySession::OnDNSFailOver(), the m_CurrentUACRequest is > actualized: > > /void ProxySession::OnDNSFailOver(SIPDNSFailOver & failOverEvent) > { > SIPMessage msg = failOverEvent.GetMessage();/ > // > / if( msg.IsInvite() ) > { > m_CurrentUACRequest = msg.AsString(); > SIPURI targetURI; > msg.GetRequestURI(targetURI); > SetDialogPeerAddress( targetURI.AsString() ); > } > }/ > > First, I tried: > > /m_CurrentUACRequest = msg;/ > > But the m_CurrentUACRequest was not actualized, because the > m_InternalId was the same for both messages and: > > /SIPMessage & SIPMessage:://operator=(const// SIPMessage & msg)/ > /{/ > / if//( msg.m_InternalId == m_InternalId )/ > / return *this;/ > /.../ > /}/ > > Then i used the AsString(): > > /m_CurrentUACRequest = msg.AsString();/ > > I know this is not the best solution, then if you could suggest a > better one please let me know. Maybe in > SIPTransaction::DoDNSFailover(), changing : > > /SIPMessage request = m_OpeningRequest;/ > > I attach the sip flows before and after the changes in the code, the > second sip flow is more normal. > > Thanks for your help. > > Gustavo > > > ------------------------------------------------------------------------ > > > Date: Wed, 4 Jul 2007 15:06:09 +0800 > > To: cur...@gm... > > From: joe...@gm... > > CC: ope...@li... > > Subject: Re: [OpenSIPStack] FW: FW: OpenSBC as Forking Proxy > > > > Gustavo Curetti wrote: > > > Hi Joegen: > > > > > > I don't have a call sesion, i have a proxy session. The cancel is > sent > > > to the m_DialogPeerAddress for a proxy session. I have added the > > > following code: > > > > > > void ProxySession::OnDNSFailOver( > > > SIPDNSFailOver & failOverEvent > > > ) > > > { > > > SIPMessage msg = failOverEvent.GetMessage(); > > > if( msg.IsInvite() ) > > > { > > > SIPURI targetURI; > > > msg.GetRequestURI(targetURI); > > > SetDialogPeerAddress( targetURI.AsString() ); > > > } > > > } > > > > I have patched CVS accordingly. > > > > > > > > > > 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 actual target and with the followings. The ICT transaction > > > must stop trying. Could you give some directions, please? > > > > I think this is a compliant behavior. Don't you want the UA to know > > that the UAS is actually down? I have checked 3261 again and paragraph > > indicates that a proxy MAY send a response to the CANCEL and generate a > > new transaction towards the UAS. This is not a MUST and is left to the > > implementors to decide on. I am open to discuss this further if you > > think it is a better approach to handle extra state in the proxy for > > cancelling transaction. My main reason for doing this is to make proxy > > transactions light and I would favor to let it stay that way. > > > > 9.2 Server Behavior > > > > The CANCEL method requests that the TU at the server side cancel a > > pending transaction. The TU determines the transaction to be > > cancelled by taking the CANCEL request, and then assuming that the > > request method is anything but CANCEL or ACK and applying the > > transaction matching procedures of Section 17.2.3. The matching > > transaction is the one to be cancelled. > > > > The processing of a CANCEL request at a server depends on the type of > > server. A stateless proxy will forward it, a stateful proxy might > > respond to it and generate some CANCEL requests of its own, and a UAS > > will respond to it. See Section 16.10 for proxy treatment of CANCEL. > > > > > > > > > > > > > > Thanks for your help. > > > Gustavo. > > > > > > > ------------------------------------------------------------------------ > > > > > > > Date: Tue, 26 Jun 2007 15:23:39 +0800 > > > > From: jb...@so... > > > > To: 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 simple actually. I just > > > > propagated a SIPDNSFailOver stack event to the call session and made > > > > sure that m_CurrentUACInvite is replaced. Can you check 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 send a Cancel to OpenSBC, the OpenSBC respond with > > > > >> Code487_RequestCancelled 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: cur...@gm...; > > > ope...@li... > > > > >>> Subject: Re: [OpenSIPStack] FW: FW: OpenSBC as Forking Proxy > > > > >>> From: joe...@gm... > > > > >>> > > > > >>> I've just checked in a fix for this in CVS. > > > > >>> > > > > >>> Gustavo 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 to 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... > > > > >>>> Subject: RE: [OpenSIPStack] FW: OpenSBC as Forking Proxy > > > > >>>> Date: Wed, 30 May 2007 14:43:32 +0200 > > > > >>>> > > > > >>>> Joegen, > > > > >>>> > > > > >>>> Thanks a lot. I will try to change the behavior. > > > > >>>> > > > > >>>> Gustavo > > > > >>>> > > > > >>>> > > > > >>>> > > > > >>>> > > > > >> > > > > ------------------------------------------------------------------------ > > > > >> > > > > >>>>> Date: Fri, 18 May 2007 08:15:20 +0800 > > > > >>>>> From: jb...@so... > > > > >>>>> To: cur...@gm...; > > > > >>>>> > > > > >>>> ope...@li... > > > > >>>> > > > > >>>>> Subject: Re: [OpenSIPStack] FW: OpenSBC as Forking Proxy > > > > >>>>> > > > > >>>>> Gustavo, > > > > >>>>> > > > > >>>>> Sorry, I forgot to get back to you. If you have the latest > CVS > > > head > > > > >>>>> code, check out BOOL SIPTransaction::DoDNSFailover() in > > > > >>>>> SIPTransaction.cxx. I have committed this a few days ago to > > > > >>>>> demonstrate fail-over by forking 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 create a new client transaction > when > > > > >>>>>> > > > > >>>> the > > > > >>>> > > > > >>>>>> first invite fail in the FSM layer. Could you give some > > > > >>>>>> > > > > >>>> directions, > > > > >>>> > > > > >>>>>> 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 with a custom header?.Must each new try create > a new > > > > >>>>>> client transaction? > > > > >>>>>> > > > > >>>>>> Thanks > > > > >>>>>> Gustavo > > > > >>>>>> > > > > >>>>>> > > > > >>>>>> > > > > >> > > > > ------------------------------------------------------------------------ > > > > >> > > > > >>>>>>> Date: Thu, 10 May 2007 13:28:29 +0800 > > > > >>>>>>> From: jb...@so... > > > > >>>>>>> To: cur...@gm... > > > > >>>>>>> Subject: Re: [OpenSIPStack] 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 mechanism to clone > > > > >>>>>>> > > > > >>>> transactions and > > > > >>>> > > > > >>>>>>> this is not 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 know 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 is a very simple sequential search. > When one > > > > >>>>>>>> destination don't answer or reject the call I want the > OpenSBC > > > > >>>>>>>> > > > > >>>>>> try > > > > >>>>>> > > > > >>>>>>>> another. > > > > >>>>>>>> > > > > >>>>>>>> I made the following changes in the code for timer B > > > > >>>>>>>> > > > > >>>>>> expiration just > > > > >>>>>> > > > > >>>>>>>> for do some tests: > > > > >>>>>>>> > > > > >>>>>>>> void ProxySessionManager::OnTimerExpire( > > > > >>>>>>>> SIPTimerExpire & timerEvent, > > > > >>>>>>>> SIPSession * session > > > > >>>>>>>> ) > > > > >>>>>>>> { > > > > >>>>>>>> if( session != NULL ) > > > > >>>>>>>> { > > > > >>>>>>>> LOG_IF_DEBUG( LogWarning(), "*** TIMER EXPIRATION *** > for SIP > > > > >>>>>>>> Session " << session->GetSessionId() ); > > > > >>>>>>>> if( timerEvent.GetTimer() == > > > > >>>>>>>> > > > > >>>> SIPTransactions::SIPTimerEvent::B) > > > > >>>> > > > > >>>>>>>> { > > > > >>>>>>>> SIPMessage msg = ((ProxySession > > > > >>>>>>>> > > > > >>>> *)session)->GetOriginalInvite(); > > > > >>>> > > > > >>>>>>>> session->EnqueueSessionEvent( new SIPSessionEvent( > > > > >>>>>>>> > > > > >>>> *session, 1, > > > > >>>> > > > > >>>>>>>> msg ) ); > > > > >>>>>>>> } > > > > >>>>>>>> session->OnTimerExpire( timerEvent ); > > > > >>>>>>>> } > > > > >>>>>>>> } > > > > >>>>>>>> > > > > >>>>>>>> and > > > > >>>>>>>> > > > > >>>>>>>> void ProxySession::OnTimerExpire( > > > > >>>>>>>> SIPTimerExpire & timerEvent > > > > >>>>>>>> ) > > > > >>>>>>>> { > > > > >>>>>>>> GCREF( "SIPSession::OnTimerExpire" ); > > > > >>>>>>>> if( timerEvent.GetTimer() == > > > > >>>>>>>> > > > > >>>> SIPTransactions::SIPTimerEvent::B || > > > > >>>> > > > > >>>>>>>> timerEvent.GetTimer() == > SIPTransactions::SIPTimerEvent::F ) > > > > >>>>>>>> { > > > > >>>>>>>> ///this is an ICT timeout > > > > >>>>>>>> SIPMessage timeout; > > > > >>>>>>>> GetCurrentUASRequest().CreateResponse( timeout, > > > > >>>>>>>> SIPMessage::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 headers 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 new ICT for trying > the next > > > > >>>>>>>> destination but canceling throw the first ICT at the same > > > > >>>>>>>> > > > > >>>> time. > > > > >>>> > > > > >>>>>>>> Thanks for your help. > > > > >>>>>>>> > > > > >>>>>>>> Gustavo > > > > >>>>>>>> > > > > >>>>>>>> > > > > >>>>>>>> > > > > >> > > > > ------------------------------------------------------------------------ > > > > >> > > > > >>>>>>>>> Date: Sat, 5 May 2007 13:50:44 +0800 > > > > >>>>>>>>> From: jb...@so... > > > > >>>>>>>>> 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 Forking Proxy. I want > > > > >>>>>>>>>> > > > > >>>> that the > > > > >>>> > > > > >>>>>>>>>> OpenSBC try the differents Relays Routes one by one. > Could > > > > >>>>>>>>>> > > > > >>>>>> you give > > > > >>>>>> > > > > >>>>>>>>>> some directions, please? > > > > >>>>>>>>>> > > > > >>>>>>>>>> Thanks for your help. > > > > >>>>>>>>>> > > > > >>>>>>>>>> Gustavo. > > > > >>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>>> > > > > >> > > > > ------------------------------------------------------------------------ > > > > >> > > > > >>>>>>>>>> Descubre Live.com - tu propia página de inicio, > > > > >>>>>>>>>> > > > > >>>>>> personalizada para > > > > >>>>>> > > > > >>>>>>>> ver > > > > >>>>>>>> > > > > >>>>>>>>>> rápidamente todo lo que te interesa en un mismo sitio. > > > > >>>>>>>>>> > > > > >>>>>> 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://sourceforge.net/powerbar/db2/ > > > > >>>>>>>>>> > > > > >>>>>>>>>> > > > > >> > > > > ------------------------------------------------------------------------ > > > > >> > > > > >>>>>>>>>> _______________________________________________ > > > > >>>>>>>>>> opensipstack-devel mailing list > > > > >>>>>>>>>> ope...@li... > > > > >>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>> > https://lists.sourceforge.net/lists/listinfo/opensipstack-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-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/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> > > > > >> > > > > >>>>>> > > > > >>>>>> > > > > >> > > > > ------------------------------------------------------------------------ > > > > >> > > > > >>>>>> Se uno de los primeros en probar Windows Live Mail. > Windows Live > > > > >>>>>> Mail. > > > > >>>>>> > > > > >>>>>> > > > > >> > > > > <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> > > > > >> > > > > >>>>>> > > > > >>>>>> > > > > >>>>>> > > > > >> > > > > ------------------------------------------------------------------------ > > > > >> > > > > >>>>>> Se uno de los primeros en probar Windows Live Mail. Windows > > > > >>>>>> > > > > >>>> Live Mail. > > > > >>>> > > > > >> > > > > <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-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/ > > > > >>>>> _______________________________________________ > > > > >>>>> opensipstack-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/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> > > > > >> > > > > >>>> > > > > >>>> > > > > >>>> > > > > >> > > > > ------------------------------------------------------------------------ > > > > >> > > > > >>>> Comunícate al instante con Windows Live Messenger Windows Live > > > > >>>> Messenger > > > > >>>> > > > > >>>> > > > > >> > > > > <http://imagine-msn.com/messenger/launch80/default.aspx?locale=es-ar&source=joinmsncom/messenger> > > > > > > > > >> > > > > >> > > > > >>>> > > > > >> > > > > ------------------------------------------------------------------------ > > > > >> > > > > >>>> > > > > >> > > > > ------------------------------------------------------------------------- > > > > >> > > > > >>>> 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-devel mailing list > > > > >>>> ope...@li... > > > > >>>> https://lists.sourceforge.net/lists/listinfo/opensipstack-devel > > > > >>>> > > > > >>>> > > > > >>> -- > > > > >>> Joegen E. Baclor > > > > >>> CTO - Solegy LLC > > > > >>> > > > > >>> Email: joegen @ solegy.com > > > > >>> Main: +1 212 801 2504 > > > > >>> Fax: +1 347 438 3072 > > > > >>> Manila: +63 2 747 3460 > > > > >>> Mobile: +63 918 411 9064 > > > > >>> > > > > >>> 121 Varick St., Suite 201 > > > > >>> NY, NY 10013 > > > > >>> > > > > >>> SOLEGY LLC > > > > >>> http://www.solegy.com > > > > >>> Solutions to Fit Your Strategy > > > > >>> > > > > >>> > > > > >>> > > > > >> > > > > ------------------------------------------------------------------------ > > > > >> Se uno de los primeros en probar Windows Live Mail. Windows Live > > > Mail. > > > > >> > > > > <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-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/ > > > > > _______________________________________________ > > > > > opensipstack-devel mailing list > > > > > ope...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/opensipstack-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-devel mailing list > > > > ope...@li... > > > > https://lists.sourceforge.net/lists/listinfo/opensipstack-devel > > > > > > > > > > ------------------------------------------------------------------------ > > > Envía mensajes de correo electrónico directamente a tu blog con MSN. > > > Carga chistes, fotografías y muchas otras cosas. Es gratis. > > > > <http://clk.atdmt.com/MSN/go/msnnksac0030000001msn/direct/01/?href=http://www.imagine-msn.com/spaces> > > > > > > > ------------------------------------------------------------------------- > > 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-devel mailing list > > ope...@li... > > https://lists.sourceforge.net/lists/listinfo/opensipstack-devel > > > ------------------------------------------------------------------------ > Descubre Live.com - tu propia página de inicio, personalizada para ver > rápidamente todo lo que te interesa en un mismo sitio. todo en el > mismo sitio. <http://www.live.com/getstarted> > ------------------------------------------------------------------------ > > | 192.168.0.60 | 192.168.0.207 | 192.168.0.58 | 192.168.0.1 | 192.168.0.206 | 192.168.0.38 | > | INVITE | | | | | | > | ------------------> | | | | | > | 407 Proxy authentication required | | | | > | <------------------ | | | | | > | ACK | | | | | | > | ------------------> | | | | | > | INVITE | | | | | | > | ------------------> | | | | | > | | INVITE | | | | | > | | ------------------> | | | | > | | 100 Trying| | | | | > | | <------------------ | | | | > | 100 Trying| | | | | | > | <------------------ | | | | | > | | | INVITE | | | | > | | | ------------------> | | | > | | | INVITE | | | | > | | | ------------------> | | | > | | | INVITE | | | | > | | | ------------------> | | | > | | | INVITE | | | | > | | | ------------------> | | | > | | | INVITE | | | | > | | | ------------------> | | | > | | | INVITE | | | | > | | | --------------------------------------> | | > | | | INVITE | | | | > | | | --------------------------------------> | | > | | | INVITE | | | | > | | | --------------------------------------> | | > | | | INVITE | | | | > | | | --------------------------------------> | | > | CANCEL | | | | | | > | ------------------> | | | | | > | | CANCEL | | | | | > | | ------------------> | | | | > | | 487 Request Cancelled | | | | > | | <------------------ | | | | > | | | CANCEL | | | | > | | | --------------------------------------> | | > | 487 Request Cancelled | | | | | > | <------------------ | | | | | > | | | CANCEL | | | | > | | | --------------------------------------> | | > | ACK | | | | | | > | ------------------> | | | | | > | | ACK | | | | | > | | ------------------> | | | | > | | | CANCEL | | | | > | | | --------------------------------------> | | > | | | CANCEL | | | | > | | | --------------------------------------> | | > | | | INVITE | | | | > | | | --------------------------------------> | | > | | | INVITE | | | | > | | | ----------------------------------------------------------> | > | | | INVITE | | | | > | | | ----------------------------------------------------------> | > | | | CANCEL | | | | > | | | --------------------------------------> | | > | | | INVITE | | | | > | | | ----------------------------------------------------------> | > | | | INVITE | | | | > | | | ----------------------------------------------------------> | > | | | CANCEL | | | | > | | | --------------------------------------> | | > | | | CANCEL | | | | > | | | --------------------------------------> | | > | | | CANCEL | | | | > | | | --------------------------------------> | | > | | | CANCEL | | | | > | | | --------------------------------------> | | > | | | INVITE | | | | > | | | ----------------------------------------------------------> | > | INVITE | | | | | | > | <-------------------------------------- | | | | > | 100 Trying| | | | | | > | --------------------------------------> | | | | > | 180 Ringing | | | | | > | --------------------------------------> | | | | > | | | CANCEL | | | | > | | | --------------------------------------> | | > | | | CANCEL | | | | > | | | ----------------------------------------------------------> | > | | | CANCEL | | | | > | | | ----------------------------------------------------------> | > | | | CANCEL | | | | > | | | ----------------------------------------------------------> | > | | | CANCEL | | | | > | | | ----------------------------------------------------------> | > | | | CANCEL | | | | > | | | ----------------------------------------------------------> | > | CANCEL | | | | | | > | <-------------------------------------- | | | | > | 200 OK | | | | | | > | --------------------------------------> | | | | > | 487 Request Cancelled | | | | | > | --------------------------------------> | | | | > | | 200 OK | | | | | > | | <------------------ | | | | > | 200 OK | | | | | | > | <------------------ | | | | | > | ACK | | | | | | > | <-------------------------------------- | | | | > | | 487 Request Cancelled | | | | > | | <------------------ | | | | > | 487 Request Cancelled | | | | | > | <------------------ | | | | | > | ACK | | | | | | > | ------------------> | | | | | > | | ACK | | | | | > | | ------------------> | | | | > > ------------------------------------------------------------------------ > > | 192.168.0.60 | 192.168.0.207 | 192.168.0.58 | 192.168.0.1 | 192.168.0.38 | > | INVITE | | | | | > | ------------------> | | | | > | 407 Proxy authentication required | | | > | <------------------ | | | | > | ACK | | | | | > | ------------------> | | | | > | INVITE | | | | | > | ------------------> | | | | > | | INVITE | | | | > | | ------------------> | | | > | | 100 Trying| | | | > | | <------------------ | | | > | 100 Trying| | | | | > | <------------------ | | | | > | | | INVITE | | | > | | | ------------------> | | > | | | INVITE | | | > | | | ------------------> | | > | | | INVITE | | | > | | | ------------------> | | > | | | INVITE | | | > | | | ------------------> | | > | | | INVITE | | | > | | | ------------------> | | > | | | INVITE | | | > | | | --------------------------------------> | > | | | INVITE | | | > | | | --------------------------------------> | > | | | INVITE | | | > | | | --------------------------------------> | > | CANCEL | | | | | > | ------------------> | | | | > | | CANCEL | | | | > | | ------------------> | | | > | | 487 Request Cancelled | | | > | | <------------------ | | | > | | | CANCEL | | | > | | | --------------------------------------> | > | 487 Request Cancelled | | | | > | <------------------ | | | | > | ACK | | | | | > | ------------------> | | | | > | ACK | | | | | > | <------------------ | | | | > | | | CANCEL | | | > | | | --------------------------------------> | > | | | CANCEL | | | > | | | --------------------------------------> | > | | | CANCEL | | | > | | | --------------------------------------> | > | | | CANCEL | | | > | | | --------------------------------------> | > | | 480 Temporarily not available | | | > | | <------------------ | | | > | 480 Temporarily not available | | | | > | <------------------ | | | | > |
From: Joegen E. B. <joe...@gm...> - 2007-06-20 23:50:13
|
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 send a Cancel to OpenSBC, the OpenSBC respond with > Code487_RequestCancelled 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: cur...@gm...; ope...@li... > > Subject: Re: [OpenSIPStack] FW: FW: OpenSBC as Forking Proxy > > From: joe...@gm... > > > > I've just checked in a fix for this in CVS. > > > > Gustavo 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 to 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... > > > Subject: RE: [OpenSIPStack] FW: OpenSBC as Forking Proxy > > > Date: Wed, 30 May 2007 14:43:32 +0200 > > > > > > Joegen, > > > > > > Thanks a lot. I will try to change the behavior. > > > > > > Gustavo > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > Date: Fri, 18 May 2007 08:15:20 +0800 > > > > From: jb...@so... > > > > To: cur...@gm...; > > > ope...@li... > > > > Subject: Re: [OpenSIPStack] FW: OpenSBC as Forking Proxy > > > > > > > > Gustavo, > > > > > > > > Sorry, I forgot to get back to you. If you have the latest CVS head > > > > code, check out BOOL SIPTransaction::DoDNSFailover() in > > > > SIPTransaction.cxx. I have committed this a few days ago to > > > > demonstrate fail-over by forking 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 create a new client transaction when > > > the > > > > > first invite fail in the FSM layer. Could you give some > > > directions, > > > > > 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 with a custom header?.Must each new try create a new > > > > > client transaction? > > > > > > > > > > Thanks > > > > > Gustavo > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > > > Date: Thu, 10 May 2007 13:28:29 +0800 > > > > > > From: jb...@so... > > > > > > To: cur...@gm... > > > > > > Subject: Re: [OpenSIPStack] 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 mechanism to clone > > > transactions and > > > > > > this is not 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 know 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 is a very simple sequential search. When one > > > > > > > destination don't answer or reject the call I want the OpenSBC > > > > > try > > > > > > > another. > > > > > > > > > > > > > > I made the following changes in the code for timer B > > > > > expiration just > > > > > > > for do some tests: > > > > > > > > > > > > > > void ProxySessionManager::OnTimerExpire( > > > > > > > SIPTimerExpire & timerEvent, > > > > > > > SIPSession * session > > > > > > > ) > > > > > > > { > > > > > > > if( session != NULL ) > > > > > > > { > > > > > > > LOG_IF_DEBUG( LogWarning(), "*** TIMER EXPIRATION *** for SIP > > > > > > > Session " << session->GetSessionId() ); > > > > > > > if( timerEvent.GetTimer() == > > > SIPTransactions::SIPTimerEvent::B) > > > > > > > { > > > > > > > SIPMessage msg = ((ProxySession > > > *)session)->GetOriginalInvite(); > > > > > > > session->EnqueueSessionEvent( new SIPSessionEvent( > > > *session, 1, > > > > > > > msg ) ); > > > > > > > } > > > > > > > session->OnTimerExpire( timerEvent ); > > > > > > > } > > > > > > > } > > > > > > > > > > > > > > and > > > > > > > > > > > > > > void ProxySession::OnTimerExpire( > > > > > > > SIPTimerExpire & timerEvent > > > > > > > ) > > > > > > > { > > > > > > > GCREF( "SIPSession::OnTimerExpire" ); > > > > > > > if( timerEvent.GetTimer() == > > > SIPTransactions::SIPTimerEvent::B || > > > > > > > timerEvent.GetTimer() == SIPTransactions::SIPTimerEvent::F ) > > > > > > > { > > > > > > > ///this is an ICT timeout > > > > > > > SIPMessage timeout; > > > > > > > GetCurrentUASRequest().CreateResponse( timeout, > > > > > > > SIPMessage::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 headers 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 new ICT for trying the next > > > > > > > destination but canceling throw the first ICT at the same > > > time. > > > > > > > > > > > > > > Thanks for your help. > > > > > > > > > > > > > > Gustavo > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > > > > > > > Date: Sat, 5 May 2007 13:50:44 +0800 > > > > > > > > From: jb...@so... > > > > > > > > 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 Forking Proxy. I want > > > that the > > > > > > > > > OpenSBC try the differents Relays Routes one by one. Could > > > > > you give > > > > > > > > > some directions, please? > > > > > > > > > > > > > > > > > > Thanks for your help. > > > > > > > > > > > > > > > > > > Gustavo. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > Descubre Live.com - tu propia página de inicio, > > > > > personalizada para > > > > > > > ver > > > > > > > > > rápidamente todo lo que te interesa en un mismo sitio. > > > > > 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://sourceforge.net/powerbar/db2/ > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > opensipstack-devel mailing list > > > > > > > > > ope...@li... > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/opensipstack-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-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/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > Se uno de los primeros en probar Windows Live Mail. Windows Live > > > > > Mail. > > > > > > > > > <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > Se uno de los primeros en probar Windows Live Mail. Windows > > > Live Mail. > > > > > > > > > <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-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/ > > > > _______________________________________________ > > > > opensipstack-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/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > Comunícate al instante con Windows Live Messenger Windows Live > > > Messenger > > > > <http://imagine-msn.com/messenger/launch80/default.aspx?locale=es-ar&source=joinmsncom/messenger> > > > > > > > > ------------------------------------------------------------------------ > > > > > > > ------------------------------------------------------------------------- > > > 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-devel mailing list > > > ope...@li... > > > https://lists.sourceforge.net/lists/listinfo/opensipstack-devel > > > > > > > > > -- > > Joegen E. Baclor > > CTO - Solegy LLC > > > > Email: joegen @ solegy.com > > Main: +1 212 801 2504 > > Fax: +1 347 438 3072 > > Manila: +63 2 747 3460 > > Mobile: +63 918 411 9064 > > > > 121 Varick St., Suite 201 > > NY, NY 10013 > > > > SOLEGY LLC > > http://www.solegy.com > > Solutions to Fit Your Strategy > > > > > > > ------------------------------------------------------------------------ > Se uno de los primeros en probar Windows Live Mail. Windows Live Mail. > <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> |
From: Joegen E. B. <jb...@so...> - 2007-06-26 07:23:55
|
Hi Gustavo, I have committed a fix of this. It's very simple actually. I just propagated a SIPDNSFailOver stack event to the call session and made sure that m_CurrentUACInvite is replaced. Can you check 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 send a Cancel to OpenSBC, the OpenSBC respond with >> Code487_RequestCancelled 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: cur...@gm...; ope...@li... >>> Subject: Re: [OpenSIPStack] FW: FW: OpenSBC as Forking Proxy >>> From: joe...@gm... >>> >>> I've just checked in a fix for this in CVS. >>> >>> Gustavo 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 to 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... >>>> Subject: RE: [OpenSIPStack] FW: OpenSBC as Forking Proxy >>>> Date: Wed, 30 May 2007 14:43:32 +0200 >>>> >>>> Joegen, >>>> >>>> Thanks a lot. I will try to change the behavior. >>>> >>>> Gustavo >>>> >>>> >>>> >>>> >> ------------------------------------------------------------------------ >> >>>>> Date: Fri, 18 May 2007 08:15:20 +0800 >>>>> From: jb...@so... >>>>> To: cur...@gm...; >>>>> >>>> ope...@li... >>>> >>>>> Subject: Re: [OpenSIPStack] FW: OpenSBC as Forking Proxy >>>>> >>>>> Gustavo, >>>>> >>>>> Sorry, I forgot to get back to you. If you have the latest CVS head >>>>> code, check out BOOL SIPTransaction::DoDNSFailover() in >>>>> SIPTransaction.cxx. I have committed this a few days ago to >>>>> demonstrate fail-over by forking 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 create a new client transaction when >>>>>> >>>> the >>>> >>>>>> first invite fail in the FSM layer. Could you give some >>>>>> >>>> directions, >>>> >>>>>> 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 with a custom header?.Must each new try create a new >>>>>> client transaction? >>>>>> >>>>>> Thanks >>>>>> Gustavo >>>>>> >>>>>> >>>>>> >> ------------------------------------------------------------------------ >> >>>>>>> Date: Thu, 10 May 2007 13:28:29 +0800 >>>>>>> From: jb...@so... >>>>>>> To: cur...@gm... >>>>>>> Subject: Re: [OpenSIPStack] 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 mechanism to clone >>>>>>> >>>> transactions and >>>> >>>>>>> this is not 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 know 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 is a very simple sequential search. When one >>>>>>>> destination don't answer or reject the call I want the OpenSBC >>>>>>>> >>>>>> try >>>>>> >>>>>>>> another. >>>>>>>> >>>>>>>> I made the following changes in the code for timer B >>>>>>>> >>>>>> expiration just >>>>>> >>>>>>>> for do some tests: >>>>>>>> >>>>>>>> void ProxySessionManager::OnTimerExpire( >>>>>>>> SIPTimerExpire & timerEvent, >>>>>>>> SIPSession * session >>>>>>>> ) >>>>>>>> { >>>>>>>> if( session != NULL ) >>>>>>>> { >>>>>>>> LOG_IF_DEBUG( LogWarning(), "*** TIMER EXPIRATION *** for SIP >>>>>>>> Session " << session->GetSessionId() ); >>>>>>>> if( timerEvent.GetTimer() == >>>>>>>> >>>> SIPTransactions::SIPTimerEvent::B) >>>> >>>>>>>> { >>>>>>>> SIPMessage msg = ((ProxySession >>>>>>>> >>>> *)session)->GetOriginalInvite(); >>>> >>>>>>>> session->EnqueueSessionEvent( new SIPSessionEvent( >>>>>>>> >>>> *session, 1, >>>> >>>>>>>> msg ) ); >>>>>>>> } >>>>>>>> session->OnTimerExpire( timerEvent ); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> and >>>>>>>> >>>>>>>> void ProxySession::OnTimerExpire( >>>>>>>> SIPTimerExpire & timerEvent >>>>>>>> ) >>>>>>>> { >>>>>>>> GCREF( "SIPSession::OnTimerExpire" ); >>>>>>>> if( timerEvent.GetTimer() == >>>>>>>> >>>> SIPTransactions::SIPTimerEvent::B || >>>> >>>>>>>> timerEvent.GetTimer() == SIPTransactions::SIPTimerEvent::F ) >>>>>>>> { >>>>>>>> ///this is an ICT timeout >>>>>>>> SIPMessage timeout; >>>>>>>> GetCurrentUASRequest().CreateResponse( timeout, >>>>>>>> SIPMessage::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 headers 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 new ICT for trying the next >>>>>>>> destination but canceling throw the first ICT at the same >>>>>>>> >>>> time. >>>> >>>>>>>> Thanks for your help. >>>>>>>> >>>>>>>> Gustavo >>>>>>>> >>>>>>>> >>>>>>>> >> ------------------------------------------------------------------------ >> >>>>>>>>> Date: Sat, 5 May 2007 13:50:44 +0800 >>>>>>>>> From: jb...@so... >>>>>>>>> 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 Forking Proxy. I want >>>>>>>>>> >>>> that the >>>> >>>>>>>>>> OpenSBC try the differents Relays Routes one by one. Could >>>>>>>>>> >>>>>> you give >>>>>> >>>>>>>>>> some directions, please? >>>>>>>>>> >>>>>>>>>> Thanks for your help. >>>>>>>>>> >>>>>>>>>> Gustavo. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >> ------------------------------------------------------------------------ >> >>>>>>>>>> Descubre Live.com - tu propia página de inicio, >>>>>>>>>> >>>>>> personalizada para >>>>>> >>>>>>>> ver >>>>>>>> >>>>>>>>>> rápidamente todo lo que te interesa en un mismo sitio. >>>>>>>>>> >>>>>> 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://sourceforge.net/powerbar/db2/ >>>>>>>>>> >>>>>>>>>> >> ------------------------------------------------------------------------ >> >>>>>>>>>> _______________________________________________ >>>>>>>>>> opensipstack-devel mailing list >>>>>>>>>> ope...@li... >>>>>>>>>> >>>>>>>>>> >>>>>> https://lists.sourceforge.net/lists/listinfo/opensipstack-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-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/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> >> >>>>>> >>>>>> >> ------------------------------------------------------------------------ >> >>>>>> Se uno de los primeros en probar Windows Live Mail. Windows Live >>>>>> Mail. >>>>>> >>>>>> >> <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> >> >>>>>> >>>>>> >>>>>> >> ------------------------------------------------------------------------ >> >>>>>> Se uno de los primeros en probar Windows Live Mail. Windows >>>>>> >>>> Live Mail. >>>> >> <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-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/ >>>>> _______________________________________________ >>>>> opensipstack-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/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d> >> >>>> >>>> >>>> >> ------------------------------------------------------------------------ >> >>>> Comunícate al instante con Windows Live Messenger Windows Live >>>> Messenger >>>> >>>> >> <http://imagine-msn.com/messenger/launch80/default.aspx?locale=es-ar&source=joinmsncom/messenger> >> >> >>>> >> ------------------------------------------------------------------------ >> >>>> >> ------------------------------------------------------------------------- >> >>>> 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-devel mailing list >>>> ope...@li... >>>> https://lists.sourceforge.net/lists/listinfo/opensipstack-devel >>>> >>>> >>> -- >>> Joegen E. Baclor >>> CTO - Solegy LLC >>> >>> Email: joegen @ solegy.com >>> Main: +1 212 801 2504 >>> Fax: +1 347 438 3072 >>> Manila: +63 2 747 3460 >>> Mobile: +63 918 411 9064 >>> >>> 121 Varick St., Suite 201 >>> NY, NY 10013 >>> >>> SOLEGY LLC >>> http://www.solegy.com >>> Solutions to Fit Your Strategy >>> >>> >>> >> ------------------------------------------------------------------------ >> Se uno de los primeros en probar Windows Live Mail. Windows Live Mail. >> <http://ideas.live.com/programpage.aspx?versionId=5d21c51a-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/ > _______________________________________________ > opensipstack-devel mailing list > ope...@li... > https://lists.sourceforge.net/lists/listinfo/opensipstack-devel > > |