Re: [OpenSIPStack] FW: FW: OpenSBC as Forking Proxy
Brought to you by:
joegenbaclor
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 > > |