[Users] Re: Double Registration with Openser proxy and Openser registrar
Daniel-Constantin Mierla
daniel at voice-system.ro
Fri Oct 13 12:04:09 CEST 2006
This is quite tough to achieve, try save_noreply("location") instead of
save("location") on the transparent proxy. Alternative is to look at the
path module and PATH extension in SIP.
Cheers,
Daniel
On 10/13/06 10:51, Lindsey Hans Joseph Lao wrote:
> Hello Daniel,
>
> Yes, the authentication happens in the registrar. Basically, this is
> what I wanted to happen:
>
> client's sip phone is only configured with the registrar's IP. we are
> deploying openser as a transparent proxy (since client does not know
> sip traffic is routed to a proxy with only the registrar's IP
> configured in their sip phone) and as an application level gateway
> (since we intend that private IP to public IP translation happens in
> the openser proxy). Unfortunately, fix_nated_contact and
> fix_nated_register won't work which led me to use subst function from
> textops module. I only need to save userlocation in the Openser proxy
> since it will be used to route calls for clients behind NAT.
>
> I am able to save userlocation in openser. However, registration does
> not complete in the registrar side. The registrar responds with a 401
> Unauthoriezed message and my client/proxy no longer responds with a
> register message containing credentials, thus no completing the
> register process. I tried placing a save("location") in my onreply
> route but it won't allow me. Can you help me on this?
>
> Best Regards,
> Hans
>
> Daniel-Constantin Mierla wrote:
>>
>>
>> On 10/12/06 09:41, Lindsey Hans Joseph Lao wrote:
>>> Hello,
>>>
>>> I currently have this setup
>>>
>>> client --> (private interface) OpenSER (public interface) -->
>>> registrar (public)
>>>
>>> In this scenario, I am configuring OpenSER to function as an
>>> application level gateway and at the same time a proxy server. I was
>>> able to successfully manipulate the contact headers thru textops
>>> module such a way that the IP registering in the registrar is the
>>> public one. NAThelper's fix_nated_contact and fix_nated_register
>>> won't work. No idea why... What I want to happen is that
>>> registration requests from the client would register with OpenSER
>>> (save in userlocation) and also register with the registrar, is
>>> there a way to do this?
>> it is possible, who is doing the authentication? the registrar? In
>> this case is is a bit complicated and you may need to do some
>> development, because you will have to take care of the replies to
>> REGISTERs, if they are not 200OK you have to remove the contact from
>> OpenSER. You can use save_noreply() in OpenSER not to sent the reply.
>>
>> Cheers,
>> Daniel
>>
>>>
>>> I'm using this script in the my proxy server such that if the
>>> destination uri is not intended for my proxy, it would substitute
>>> the contact headers and save it in "location" then relay the
>>> register request to its destination:
>>>
>>> lookup("aliases");
>>> if(uri != myself)
>>> {
>>>
>>> if(is_method("REGISTER"))
>>> {
>>> append_hf("P-hint: Registration applied\r\n");
>>>
>>> subst('/Contact:(.*)<sip:(.*)@(.*)>/Contact:<sip:\1 at 10.3.2.38:5060>/ig');
>>>
>>> save("location");
>>> t_relay();
>>> exit;
>>> };
>>>
>>> My problem is I am able to log in (i'm using xlite softphone) but
>>> upon checking the sip messages, it shows an 401 unauthorized message
>>> response from the server. Can anyone help me on this?
>>>
>>> Thanks much!
>>> Hans
>
>
More information about the Users
mailing list