Call flow issues

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Call flow issues

Daniel Corbe
Hi,

I'll do my best to explain this as concisely as possible.  I have an access-side network where most of my endpoints live out on the Internet and they all use my OpenSIPS server as their outbound proxy and registrar; however, the tenants do not live in OpenSIPS and I'm not using a radius server for AAA on REGISTERs. 

I am passing REGISTER requests up stream to my network core, like so:

route[2]
{
        setflag(6);
        fix_nated_register();
        fix_nated_contact();
        force_rport();

        # We must handle replies for registrations, for caching and location
        # tracking purposes.
        t_on_reply("1");
        t_on_failure("1");

        # Check for digest
        if (dummy_www_authorize(""))
        {
                xlog("L_INFO", "REGISTER: No Digest, sending challenge\n");
                www_challenge("", "0");
                exit;
        }

        # Digest was good if we get here
        save("location", "0x02");

        # Relay register to porta
        t_relay("udp:216.151.151.100:5060");
        exit;
}

The problem is that when the UA is NOT being natted and has a public Internet address, the Contact HF is not being changed, therefore INVITE requests destined for the UA never go through my OpenSIPS system and instead my core tries to contact the UA directly.  fix_natted_contact() and fix_natted_registrar() just aren't doing the job.

Is there a way to force OpenSIPS to always change the contact HF before relaying the REGISTER request so subsequent INVITEs flow through the system?

Thanks.

-Daniel


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Call flow issues

Bogdan-Andrei Iancu
Hi Daniel,

You can try changing the Contact header (at put your local ip there)
using textops functions (like subst) :
    http://www.opensips.org/html/docs/modules/1.4.x/textops.html#id2500681

Regards,
Bogdan

Daniel Corbe wrote:

> Hi,
>
> I'll do my best to explain this as concisely as possible.  I have an
> access-side network where most of my endpoints live out on the
> Internet and they all use my OpenSIPS server as their outbound proxy
> and registrar; however, the tenants do not live in OpenSIPS and I'm
> not using a radius server for AAA on REGISTERs.
>
> I am passing REGISTER requests up stream to my network core, like so:
>
> route[2]
> {
>         setflag(6);
>         fix_nated_register();
>         fix_nated_contact();
>         force_rport();
>
>         # We must handle replies for registrations, for caching and
> location
>         # tracking purposes.
>         t_on_reply("1");
>         t_on_failure("1");
>
>         # Check for digest
>         if (dummy_www_authorize(""))
>         {
>                 xlog("L_INFO", "REGISTER: No Digest, sending
> challenge\n");
>                 www_challenge("", "0");
>                 exit;
>         }
>
>         # Digest was good if we get here
>         save("location", "0x02");
>
>         # Relay register to porta
>         t_relay("udp:216.151.151.100:5060 <http://216.151.151.100:5060>");
>         exit;
> }
>
> The problem is that when the UA is NOT being natted and has a public
> Internet address, the Contact HF is not being changed, therefore
> INVITE requests destined for the UA never go through my OpenSIPS
> system and instead my core tries to contact the UA directly.
>  fix_natted_contact() and fix_natted_registrar() just aren't doing the
> job.
>
> Is there a way to force OpenSIPS to always change the contact HF
> before relaying the REGISTER request so subsequent INVITEs flow
> through the system?
>
> Thanks.
>
> -Daniel
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> [hidden email]
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>  


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