Hi all, I run FS on a machine with two net interface, each interface has a ip addr, one of the them connect to public network(has ip addr A), the other connect to a private network(has ip addr B), FS server as a SIP server for public through A, all outbound call will bridge to a softswitch in private network through B. here is my sofia config file and diaplan config:<br>
<br>sofia internal.xml<br>....<br><param name="rtp-ip" value="A"/><br><param name="sip-ip" value="A"/><br> ....<br><br>sofia external.xml<br>....<br><param name="rtp-ip" value="B"/><br>
<param name="sip-ip" value="B"/><br clear="all">....<br><br>dialplan<br>......<br><extension name="OUTBOUND"><br> <condition field="destination_number" expression="^(\d+)$"><br>
<action application="set" data="hangup_after_bridge=true"/><br> <action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,TIMEOUT,NO_ROUTE_DESTINATION"/><br>
<action application="set" data="effective_caller_id_number=xxxxxxx"/> <!--here change the caller number --><br> <action application="bridge" data="sofia/external/${destination_number}@xxxxx"/><br>
</condition><br> </extension><br>.....<br><br>then call seq is<br>sipAgent --> [internal -->(bridge)-->external] -->softswith<br> FREESWITCH<br><br>the question is, when sipAgent make a outbound call, FS can't recevie the caller's up audio stream, I traced the SIP packets, found that FS has return addr B in SDP when ack the invite request from sipAgent, the ack packet is<br>
===============<br>SIP/2.0 183 Session Progress<br>Via: SIP/2.0/UDP xxxxx:12208;branch=z9hG4bK-d8754z-dc750d57652c7c51-1---d8754z-;rport=12208<br>From: "1000" <sip:xxxx@A>;tag=cb4d3c4e<br>To: "65960581" <sip:xxxx@A>;tag=DtvSc0QX01yKN<br>
Call-ID: ZTI2NmIwZGZiYzlhOGNkNTdiYWUzMzkzZTMwYzgxZjI.<br>CSeq: 2 INVITE<br>Contact: <sip:xxxxxx@B:5060;transport=udp><br>User-Agent: FreeSWITCH-mod_sofia/1.0.4-14460<br>Accept: application/sdp<br>Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, REGISTER, INFO, PUBLISH<br>
Supported: timer, precondition, path, replaces<br>Allow-Events: talk, presence, dialog, call-info, sla, include-session-description, presence.winfo, message-summary, refer<br>Content-Type: application/sdp<br>Content-Disposition: session<br>
Content-Length: 245<br><br>v=0<br>o=FreeSWITCH 1256598185 1256598186 IN IP4 B ;>>>>wrong this is the ip addr of the adapter connect to the private network<br>s=FreeSWITCH<br>c=IN IP4 B ;>>>>wrong this is the ip addr of the adapter connect to the private network<br>
t=0 0<br>m=audio 31066 RTP/AVP 0 101<br>a=rtpmap:0 PCMU/8000<br>a=rtpmap:101 telephone-event/8000<br>a=fmtp:101 0-16<br>a=silenceSupp:off - - - -<br>a=ptime:20<br>================<br>I think FS should return A in SDP, not the external binding addr (B), does somebody known how to solve this problem? <br>
<br>-- <br>Lei.Tang<br><a href="mailto:lei.tlfly@gmail.com">lei.tlfly@gmail.com</a><br>