Folks,

In my cfg file I've this block. I call this block when I receive a request from a private IP (ex. 192.168.x.x)

/* route block for mangling */
route[1] {

        log(1, "route-block 1 (mangling)\n");

        # we mangle the contact address and ports in SDP part of the message
        if (method == "INVITE") {

                setflag(1);

                log(1, "mangle block: INVITE received and we will mangle ip \n");

                sdp_mangle_ip("192.168.0.0/255.0.0.0", "192.168.0.99");

        };

        # rewrite Contact: header
        if (search("Contact: .*@192\.168\.")) {
                /* we seem to have a private address on a Contact which is not valid */
                encode_contact("enc_prefix","192.168.0.99");
                xlog("L_NOTICE", "mangle block: encoded Contact header: <%ct> \n");
        };
}

When I send an INVITE I can see in SDP:
Content-Type: application/sdp..
Content-Length: 204..204Contact: Andrea Girardi <sip:enc_prefix*andrea**192.168.0.98*5060*@192.168.0.99>..
User-Agent: SCS/v3.1.12.33..
..
v=0..
o=AndreaGirardi13698577 0 IN IP4 192.168.0.98..
s=ScS Client..
c=IN IP4 217.57.90.117..
t=0 0..
m=audio 1154 RTP/AVP 0 8 4..
a=rtpmap:0 PCM U/8000..
a=rtpmap:8 PCMA/8000..
a=rtpmap:4 G723/8000..
a=ptime: 30..

This work correctly when USERA send an Invite to USERB, but when USERB send 200 ok this is the SDP:
Content-Type: application/sdp..
Content-Length: 189....
v=0..
o=braies 0 0 IN IP4 192.168.0.98..
s=ScS Client..
c=IN IP4 192.168.0.98..
b=CT:1000..
t=0 0..
m=audio 57820 RTP/AVP 0 8 4..
a=rtpmap:0 PCMU/8000..
a=rtpmap:8 PCMA/8000..
a=rtpmap:4 G723/8000..

It's correct or User B has to change c field in SDP? How?

Can I see a encoded contact (sip:enc_pref*username*ip*port*protocol@public_ip *) with xlog or simply in stderr?
i've tried to use %ct but it return  <sip:userA@192.168.0.97:5060>

is it better to use nathelper or mangler?

Thanks, Andrea

-------------------------------------------------------
Andrea Girardi
mobile +39 347 9624051
sip address: giandrea@sip.quellidelpirana.it
http://www.giandrea.com