SDP changes on Invite

Hi, When sending invite between 2 users Asterisk removes ICE candidates from original invite and uses its own external IP. Is there any configuration I can set to avoid this?

SIP stack:

db1 -> Server

INVITE sip:db2@184.73.165.182 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.82:55257;branch=z9hG4bK2131130297;rport
From: sip:db1@184.73.165.182;tag=152566065
To: sip:db2@184.73.165.182
Contact: sip:db1@192.168.1.82:55257;transport=udp;+g.oma.sip-im;language=“en,fr”;+g.3gpp.icsi-ref=“urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel"
Call-ID: a98d1760-6187-0140-faca-32012473ba0d
CSeq: 1863079351 INVITE
Content-Type: application/sdp
Content-Length: 1505
Max-Forwards: 70
Authorization: Digest username=“db1”,realm=“asterisk”,nonce=“3fb01621”,uri="sip:db2@184.73.165.182”,response=“390fb09c80c215fe375e605f61da5e32”,algorithm=MD5
Route: sip:184.73.165.182:5060;lr;transport=udp
Accept-Contact: *;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel"
P-Preferred-Service: urn:urn-7:3gpp-service.ims.icsi.mmtel
Allow: INVITE, ACK, CANCEL, BYE, MESSAGE, OPTIONS, NOTIFY, PRACK, UPDATE, REFER
Privacy: none
P-Access-Network-Info: ADSL;utran-cell-id-3gpp=00000000
User-Agent: IM-client/OMA1.0 android-ngn-stack/v2.0.498 (doubango r715 - GT-I9100)
P-Preferred-Identity: sip:db1@184.73.165.182
Supported: 100rel

v=0
o=doubango 1983 678901 IN IP4 192.168.1.82
s=-
c=IN IP4 192.168.1.82
t=0 0
m=audio 10370 RTP/AVP 3 101
c=IN IP4 192.168.1.82
a=ptime:20
a=rtpmap:3 GSM/8000/1
a=rtpmap:101 telephone-event/8000/1
a=fmtp:101 0-15
a=tcap:1 RTP/AVPF
a=pcfg:1 t=1
a=sendrecv
a=rtcp-mux
a=ssrc:3117699472 cname:ldjWoB60jbyQlR6e
a=ssrc:3117699472 mslabel:6994f7d1-6ce9-4fbd-acfd-84e5131ca2e2
a=ssrc:3117699472 label:Doubango
a=ice-ufrag:oCt0zgp7aOlYv3T
a=ice-pwd:EWCXvllhngTWApk9rS8hl
a=mid:audio
a=rtcp-mux
a=candidate:00host00 1 UDP 2130706175 192.168.1.82 10370 typ host
a=candidate:00srflx00 1 UDP 1694498815 62.219.142.171 30180 typ srflx
a=curr:qos e2e none
a=des:qos none e2e sendrecv
m=video 33530 RTP/AVP 34 103 104
c=IN IP4 192.168.1.82
a=rtpmap:34 H263/90000
a=fmtp:34 QCIF=2;SQCIF=2
a=rtpmap:103 H263-1998/90000
a=fmtp:103 QCIF=2;SQCIF=2
a=rtpmap:104 H264/90000
a=imageattr:104 recv [x=[128:16:320],y=[96:16:240]] send [x=[128:16:320],y=[96:16:240]]
a=fmtp:104 profile-level-id=42000c; packetization-mode=1
a=tcap:1 RTP/AVPF
a=pcfg:1 t=1
a=sendrecv
a=rtcp-mux
a=ssrc:3658188517 cname:ldjWoB60jbyQlR6e
a=ssrc:3658188517 mslabel:6994f7d1-6ce9-4fbd-acfd-84e5131ca2e2
a=ssrc:3658188517 label:Doubango
a=ice-ufrag:li0TjgtFOnCnI3a
a=ice-pwd:zPYSG9Njtk3TVtOTGALXT
a=mid:video
a=rtcp-mux
a=candidate:00host00 1 UDP 2130706175 192.168.1.82 33530 typ host
a=candidate:00srflx00 1 UDP 1694498815 62.219.142.171 17915 typ srflx
a=curr:qos e2e none
a=des:qos none e2e sendrecv

Server -> db2

INVITE sip:db2@192.168.1.94:53534;transport=udp SIP/2.0
Via: SIP/2.0/UDP 184.73.165.182:5060;branch=z9hG4bK5d975f4c;rport
Max-Forwards: 70
From: “db1” sip:db1@184.73.165.182;tag=as4ef637f6
To: sip:db2@192.168.1.94:53534;transport=udp
Contact: sip:db1@184.73.165.182:5060
Call-ID: 0018461944b91bab7b12a26930050caf@184.73.165.182:5060
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Date: Thu, 19 Jul 2012 11:15:08 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 421

v=0
o=root 1284307528 1284307528 IN IP4 184.73.165.182
s=Asterisk PBX 10.5.1
c=IN IP4 184.73.165.182
b=CT:5000
t=0 0
m=audio 18604 RTP/AVP 3 0 101
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
m=video 19364 RTP/AVP 99 34 98
a=rtpmap:99 H264/90000
a=rtpmap:34 H263/90000
a=rtpmap:98 h263-1998/90000
a=sendrecv

Thanks,
Gadi

No. Asterisk is a back to back user agent, not a proxy.

It has some optimisations for the actual RTP stream, if both sides are compatible, and other conditions are met, but SDP is always fully decoded, translated into internal control messages and regenerated on the other side. Also, I do not believe there are any facilities to allow user injection of lines in to the SDP, or to read the raw SDP from the dialplan.