[OpenSIPS-Users] Broken Loose Routing?

Brett Nemeroff brett at nemeroff.com
Wed Nov 5 06:39:03 CET 2008


Ok, I feel really silly. I've tried a dozen ways to rewrite the contact
header.. Over and over it doesn't work. First I tried to replace the contact
header (which is how I wanted to do it):
subst('/^Contact: <sip:([0-9]+)@(.*)$/Contact: <sip:\1 at 64.174.184.141:5060
;maddr=\2>/ig');

That mostly worked, but produced a header that looks like this:
Contact: <sip:5122033884 at 64.174.184.141:5060;maddr=10.10.67.190>
sip:5125551212 at 10.10.67.190:5060

In other words, it removed the angle braces from the original header, and
put the substituted text before it. But it didn't remove the header, which
matches the pattern

I've even tried doing:
subst('/^Contact:.*$//');
and
remove_hf("Contact");

Both just removed the header field, but left the contents, WITHOUT the angle
braces (see the line without a header FIELD):
Call-ID: 19380521914112008222455 at 10.10.67.190.
CSeq: 1 INVITE.
sip:5125551212 at 10.10.67.190:5060
Supported: em,100rel,timer,replaces,path,early-session,resource-priority.
Allow:
REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE.

I'm sure I must be doing something wrong. Is there a "right way" to change
the contact header? Perhaps it's not something I can change with the
standard toolset?

-Brett

On Thu, Oct 30, 2008 at 10:22 AM, Bogdan-Andrei Iancu <
bogdan at voice-system.ro> wrote:

> Hi Brett,
>
> Not sure you can do anything about - they detect you as behind nat because
> of the private IP in Contact....
>
> What you can do is to try  (before sending the INVITE to the provider) to
> save the current contact IP in a uri param and to replace the contact IP
> with your own....Something like maddr
>
> When you get a sequential request , before loose_route(), replace the RURI
> IP with the value from param.
>
> Something like:
>
> INVITE  :    Contact: <sip:user at privIP> -> Contact:
> <sip:user at server_pub_IP;maddr=privIP>
>
> BYE: RURI= sip:user at server_pub_IP;maddr=privIP  -> RURI=sip:user at privIP
>
> Regards,
> Bogdan
>
> Brett Nemeroff wrote:
>
>> We're actually getting this problem sending calls to multiple providers..
>> is there possibly anything I'm dong that could be causing this?
>> Thanks all,
>> Brett
>>
>>
>>
>> On Thu, Oct 30, 2008 at 11:08 AM, Alex Hermann <alex at speakup.nl <mailto:
>> alex at speakup.nl>> wrote:
>>
>>    On Thursday 30 October 2008, Iñaki Baz Castillo wrote:
>>    > 2008/10/30 Brett Nemeroff <brett at nemeroff.com
>>    <mailto:brett at nemeroff.com>>:
>>    > > Please note, the provider isn't sending the BYE to the
>>    internal address.
>>    > > The provider sends it to OpenSIPs Public address. Which is
>>    correct..
>>    >
>>    > No, that's not correct, the RURI of the BYE from provider *MUST* be
>>    > the same as the RURI in the INVITE Contact the provider received.
>>    > The BYE is sent back to the public IP, of course, but it's routed
>>    > thanks to "Route" header (loose route).
>>    >
>>    > This is the INVITE OpenSIPS sends to the provider:
>>    >
>>    > U 62.175.182.141:5060 <http://62.175.182.141:5060> ->
>>    195.62.163.131:5060 <http://195.62.163.131:5060>
>>    > INVITE sip:17475551212 at 195.62.163.131:5060;transport=udp SIP/2.0.
>>    > Contact: <sip:15125551234 at 10.10.67.190:5060
>>    <http://sip:15125551234@10.10.67.190:5060>>.
>>    >
>>    > And this is the BYE the provider sends to OpenSIPS:
>>    >
>>    > BYE sip:15125551234 at 62.175.182.141:5060
>>    <http://sip:15125551234@62.175.182.141:5060> SIP/2.0.
>>
>>    Most probably the provider does wrong NAT detection. ie it does
>>    the equivalent
>>    of:
>>
>>    if (nat_uac_test("1")) {
>>           fix_nated_contact();
>>    }
>>    t_relay();
>>
>>
>>    --
>>    Met vriendelijke groet,
>>
>>
>>    Alex Hermann
>>    SpeakUp
>>    T: 088-SPEAKUP (088-7732587)
>>    F: 088-7732588
>>
>>    _______________________________________________
>>    Users mailing list
>>    Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>    http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20081104/52728a06/attachment.htm 


More information about the Users mailing list