[Freeswitch-users] how to config FS with two net interface?

Lei Tang lei.tlfly at gmail.com
Tue Oct 27 01:49:32 PDT 2009


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:

sofia internal.xml
....
<param name="rtp-ip" value="A"/>
<param name="sip-ip" value="A"/>
 ....

sofia external.xml
....
<param name="rtp-ip" value="B"/>
<param name="sip-ip" value="B"/>
....

dialplan
......
<extension name="OUTBOUND">
    <condition field="destination_number" expression="^(\d+)$">
        <action application="set" data="hangup_after_bridge=true"/>
        <action application="set"
data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,TIMEOUT,NO_ROUTE_DESTINATION"/>
        <action application="set"
data="effective_caller_id_number=xxxxxxx"/>  <!--here change the caller
number -->
        <action application="bridge"
data="sofia/external/${destination_number}@xxxxx"/>
      </condition>
    </extension>
.....

then call seq is
sipAgent --> [internal -->(bridge)-->external] -->softswith
                          FREESWITCH

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
===============
SIP/2.0 183 Session Progress
Via: SIP/2.0/UDP
xxxxx:12208;branch=z9hG4bK-d8754z-dc750d57652c7c51-1---d8754z-;rport=12208
From: "1000" <sip:xxxx at A>;tag=cb4d3c4e
To: "65960581" <sip:xxxx at A>;tag=DtvSc0QX01yKN
Call-ID: ZTI2NmIwZGZiYzlhOGNkNTdiYWUzMzkzZTMwYzgxZjI.
CSeq: 2 INVITE
Contact: <sip:xxxxxx at B:5060;transport=udp>
User-Agent: FreeSWITCH-mod_sofia/1.0.4-14460
Accept: application/sdp
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY,
REFER, UPDATE, REGISTER, INFO, PUBLISH
Supported: timer, precondition, path, replaces
Allow-Events: talk, presence, dialog, call-info, sla,
include-session-description, presence.winfo, message-summary, refer
Content-Type: application/sdp
Content-Disposition: session
Content-Length: 245

v=0
o=FreeSWITCH 1256598185 1256598186 IN IP4 B   ;>>>>wrong this is the ip addr
of the adapter connect to the private network
s=FreeSWITCH
c=IN IP4 B ;>>>>wrong this is the ip addr of the adapter connect to the
private network
t=0 0
m=audio 31066 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
================
I think FS should return A in SDP, not the external binding addr (B), does
somebody known how to solve this problem?

-- 
Lei.Tang
lei.tlfly at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20091027/ede85b5b/attachment-0002.html 


More information about the FreeSWITCH-users mailing list