On Mon, Jun 16, 2008 at 2:29 PM, Iñaki Baz Castillo <ibc@in.ilimit.es> wrote:
El Monday 16 June 2008 13:45:07 escribió:

Jola, ¿tal vez iba para la lista? XDDDDD


> > If you manage clients behind NAT with no STUN you need to fix NAT in SIP
> > signalling. For that you need managing rport, rewritting "Contact" header
> > and so.
> > Of course, if you are not the responsible of the clients you don't need
> > it. :)
>
> As i'm not responsible for the clients I always do:
>
>             setbflag(7);
>             force_rport();
>             fix_contact();
>
>         append_hf("P-hint: Route[6]: mediaproxy \r\n");
>         use_media_proxy();
>
>
> on an INVITE, as I don't care whether they are behind NAT or not. And
> on the REPLYs:
>
>         append_hf("P-hint: Onreply-route - fixcontact \r\n");
>         fix_contact();
>
>         if (search("^Content-Type:[ ]*application/sdp")) {
>             append_hf("P-hint: onreply_route|usemediaproxy \r\n");
>             use_media_proxy();
>         }; 

You only have to "fix_contact" if the reply is a 180|183 or 2XX
Be careful, if you get a REDIRECT (3XX) whose information is in it "CONTACT" (who to redirect to), you'll delete the "contact"



> this way if the are behind NAT or not, i'll always fix the contacts
> and force mediaproxy....
>
> do you think this is correct?

Have you had problems with calls getting cut off? BYE/CANCEL/ACK that didn't reach its destination?
If you haven't, the it is correct ;)