Hi Jeff,

theoretically yes, because you have all the needed information 
(hmm...maybe except the NAT status from request, but you can store it 
via transaction)....Practically, the save() function does expect to 
receive a request only, so it must be changed to work with a reply also.

Regards,
Bogdan

Jeff Pyle wrote:
> I've thought a lot about this as well, although I haven't taken it nearly as
> far as John has.
>
> A thought:  is it possible to do a save() in the reply route, only upon a
> 200 OK from the end registrar?
>
>
> - Jeff
>
>
>
> On 5/12/09 5:09 AM, "Bogdan-Andrei Iancu" <[email protected]> wrote:
>
>   
>> Hi John,
>>
>> This mid-registrar approach may work but it is not 100% correct as
>> OpenSIPS (as mid-registrar) does not obey the actions of the final
>> registrar (Asterisk). Ex:
>>     - Asterisk may forbid the registration and you already saved the
>> registration on OpenSIPS
>>     - Asterisk may change the Expire time while to saved the
>> registration with the expire sent by client.
>>
>> Anyhow, ignoring this aspects, lets go further :) :
>>  
>> 1) is the registration scenario working ok? if not what is the exact
>> problem (some trace will help).
>>
>> I will wait for you answer before moving further with the calling stuff.
>>
>> Regards,
>> Bogdan
>>
>> John Morris wrote:
>>     
>>> After several days of playing with OpenSIPS 1.5.0 and RTPProxy 1.2.0, I
>>> have a partially working SIP+RTP ALG configuration, and have gotten stuck.
>>>  I could use some general advice from the list.
>>>
>>> The company has an Asterisk/FreePBX server on an internal network, and the
>>> CEO wants to use a SIP phone from outside.  Because the sip alg iptables
>>> module isn't working, and in preparation for another project, I started
>>> investigating OpenSIPS for use as a border proxy to connect phones across
>>> NAT (and, the next project, to route a SIP trunk over a VPN from the
>>> network of a DSL+phone company that intermittently blocks SIP traffic in
>>> hopes of plugging revenue leaks).
>>>
>>> The network looks like this:
>>>
>>> SIP UA <-> home NAT gateway <-> Internet <-> OpenSIPS server/NAT router
>>> <-> Asterisk
>>>
>>> The standard opensips.cfg file doesn't work as is.  The SIP phone needs to
>>> register to the Asterisk server directly.  In addition, it seems there is
>>> extra logic needed to support multiple network interfaces (mhomed=1 only
>>> partially solves the problem).
>>>
>>> The way I've gone with this in testing is to relay REGISTERs to Asterisk,
>>> but after a save("location","0x02") to enable a lookup("location") on
>>> messages originating from the PBX.  The phone is configured with an
>>> outbound proxy, and all packets to the proxy matching "uri==myself" are
>>> thrown away.  This worked great on the single-interfaced, internal test
>>> installation.  Now that there are multiple interfaces involved, things are
>>> breaking again; ACKs and BYEs are sent out the wrong interface, and
>>> RTPProxy is behaving strangely in bridged mode.
>>>
>>> There seem to be no good configuration examples for either multi-homed
>>> proxies or for proxies that relay REGISTERs.  This makes me think that I'm
>>> going about this the wrong way.
>>>
>>> Also, I have looked at other software, like siproxd, opensbc and uh, that
>>> other b2bua that functions as an SBC, but none of those seem to allow this
>>> REGISTER pass-through function.
>>>
>>> What is the best approach for this scenario?  The above approach of
>>> relaying REGISTERs to Asterisk?  Is there maybe another approach where
>>> phones register to OpenSIPS directly, and OpenSIPS in turn somehow sends
>>> another REGISTER to Asterisk?  Or am I missing the idea completely?
>>>
>>> I'd appreciate general pointers about how to proceed.  I've been putting
>>> some Asterisk and FreePBX tutorials and CentOS RPMs on
>>> http://www.zultron.com, mostly aimed at small office-like environments.
>>> Looking through various lists, this seems a highly sought-after
>>> configuration.  If I succeed, I'll document it in hopes of filling the gap
>>> in this sort of example.
>>>
>>> Thanks
>>>
>>>     John
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> [email protected]
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>   
>>>       
>> _______________________________________________
>> Users mailing list
>> [email protected]
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>     
>
>
>   


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to