sofia//777888888@<i>a.b.c.d</i>:5060 <br><br>that "//" looks not right. But would need to see the log above the snipet you put in to see what is going on for sure.<br><br><div><span class="gmail_quote">On 9/20/07,
<b class="gmail_sendername">Brian West</b> <<a href="mailto:brian.west@mac.com">brian.west@mac.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="">Not Acceptable Here would indicate aa codec isssue. As would INCOMPATIBLE_DESTINATION as the hangup cause. Can you verify the codec configs on each end?<div><br></div><div>/b</div><div><br><div><div><span class="e" id="q_1152388c12e4bc1c_1">
<div>On Sep 20, 2007, at 12:19 AM, Pieter Eduard wrote:</div><br></span></div><blockquote type="cite"><div><span class="e" id="q_1152388c12e4bc1c_3"> Hi,<br> <br> I just installed Freeswitch and my intention to use fs to route calls between gateways but am still stuck with the proper configuration.
<br> The simple diagram is like this :<br> <br> <br> <i>subscriber A------> SIP Server A ------>Freeswitch----->SIP Server B-----> subscriber B</i><br> voip prefix <big> </big> ip a.b.c.d ip
<a href="http://1.2.3.4" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.2.3.4</a> ip w.x.y.z voip prefix <br> 777888x 999111x
<br> <br> I tried to call subscriber B from subscriber A but getting this error :<br> <br> 2007-09-20 10:40:24 [NOTICE] sofia.c:1171 sofia_handle_sip_i_state() Hangup sofia//777888888@<i>a.b.c.d</i>:5060 [CS_NEW] [INCOMPATIBLE_DESTINATION]
<br> 2007-09-20 10:40:24 [DEBUG] switch_channel.c:1076 switch_channel_perform_hangup() Kill sofia//777888888@<i>a.b.c.d:</i>5060 [KILL]<br> 2007-09-20 10:40:24 [DEBUG] switch_core_session.c:638 switch_core_session_signal_state_change() Kill sofia//777888888@
<i>a.b.c.d</i>:5060 [BREAK]<br> 2007-09-20 10:40:24 [DEBUG] sofia.c:71 sofia_event_callback() event [nua_i_state] status [488][Not Acceptable Here] session: sofia//777888888@<i>a.b.c.d</i>:5060<br> 2007-09-20 10:40:24 [DEBUG]
sofia.c:1032 sofia_handle_sip_i_state() Channel sofia//777888888@<i>a.b.c.d:</i>5060 entering state [terminated]<br> 2007-09-20 10:40:24 [DEBUG] switch_core_state_machine.c:347 switch_core_session_run() (sofia//777888888@
<i>a.b.c.d</i>:5060) State HANGUP<br> 2007-09-20 10:40:24 [DEBUG] mod_sofia.c:217 sofia_on_hangup() Channel sofia//777888888@<i>a.b.c.d</i>:5060 hanging up, cause: INCOMPATIBLE_DESTINATION<br> 2007-09-20 10:40:24 [DEBUG] switch_core_state_machine.c:45 switch_core_standard_on_hangup() Standard HANGUP sofia//777888888@
<i>a.b.c.d</i>:5060, cause: INCOMPATIBLE_DESTINATION<br> 2007-09-20 10:40:24 [DEBUG] switch_core_session.c:697 switch_core_session_thread() Session 1 (sofia//777888888@<i>a.b.c.d</i>:5060) Locked, Waiting on external entities
<br> 2007-09-20 10:40:24 [INFO] switch_core_session.c:703 switch_core_session_thread() Session 1 (sofia//777888888@<i>a.b.c.d</i>:5060) Ended<br> 2007-09-20 10:40:24 [NOTICE] switch_core_session.c:705 switch_core_session_thread() Close Channel sofia//777888888@
<i>a.b.c.d</i>:5060 [CS_HANGUP]<br> <br> <br> Which configuration file should i edit so i could pass the traffic from A to B through fs?<br> <br> Here's my config@fs :<br> <br> <i><u><b>default_context.xml</b><br> <br>
</u></i><context name="default"><br> <br> <!--outgoing extension--><br> <extension name="test1"><br> <condition field="destination_number" expression="^(9991111[0-3]{3})$">
<br> <action application="set" data="call_timeout=30"/><br> <action application="set" data="continue_on_fail=true"/><br> <action application="set" data="hangup_after_bridge=true"/>
<br> <action application="bridge" data="sofia/gateway/test1/$1@<i>w.x.y.z</i>"/><br> </condition><br> </extension><br> <br> <extension name="test2">
<br> <condition field="destination_number" expression="^(777888[0-9]{3})$"><br> <action application="bridge" data="sofia/$${sip_profile}/$1@<i>a.b.c.d</i>"/>
<br> </condition><br> </extension><br> <br> <br> </context><br> <br> <br> <b><u><i>freeswitch.xml</i></u></b><br> <br> <?xml version="1.0"?><br> <document type="freeswitch/xml">
<br> <br> <!-- Preprocessor Variables<br> These are introduced when configuration strings must be consistent across modules.<br> --><br> <!-- sip_profile<br> Must be a domain name if you are being a registry server; otherwise
<br> can be any string.<br> used by: sofia.conf.xml enum.conf.xml default_context.xml directory.xml<br> --><br> #set "sip_profile=<i><a href="http://1.2.3.4" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
1.2.3.4</a></i>"<br> <!-- xmpp_client_profile and xmpp_server_profile<br> xmpp_client_profile can be any string.<br> xmpp_server_profile is appended to "dingaling_" to form the database name
<br> containing the "subscriptions" table.<br> used by: dingaling.conf.xml enum.conf.xml<br> --><br> #set "global_codec_prefs=PCMU@20i,G729@20"<br> <!--#set "xmpp_client_profile=xmppc"-->
<br> <!--#set "xmpp_server_profile=xmpps"--><br> <!-- bind_server_ip<br> Can be an ip address, a dns name, or "auto".<br> This determines an ip address available on this host to bind.
<br> If you are separating RTP and SIP traffic, you will want to have<br> use different addresses where this variable appears.<br> Used by: sofia.conf.xml dingaling.conf.xml<br> --><br> <!--#set "bind_server_ip=auto"-->
<br> <!-- external_rtp_ip<br> Used as the public IP address for SDP.<br> Can be an ip address or a string like "stun:<a href="http://stun.server.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
stun.server.com</a>"<br> If unspecified, the bind_server_ip value is used.<br> Used by: sofia.conf.xml dingaling.conf.xml<br> --><br> <!--#set "external_rtp_ip=stun:<a href="http://stun.server.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
stun.server.com</a>"--><br> <!-- server_name<br> A public ip address or DNS name that is used when advertising conference<br> presence or registering sip.<br> Used by: conference.conf.xml
<br> --><br> <!-- outbound_caller_id and outbound_caller_name<br> The caller ID telephone number we should use when calling out.<br> Used by: conference.conf.xml<br> --><br> <!--#set "outbound_caller_name=FreeSWITCH"-->
<br> <!--#set "outbound_caller_id=8777423583"--><br> <br> <section name="configuration" description="Various Configuration"><br> <!--#include "switch.conf.xml"-->
<br> <!--#include "modules.conf.xml"--><br> <br> <i><u> </u></i> <!-- Order doesn't matter, but for clarity these are in same order as modules.conf.xml.<br> If they aren't loaded by
modules.conf.xml, then they are ignored.<br> --><br> <!-- Loggers --><br> <!--#include "console.conf.xml"--><br> <!--#include "syslog.conf.xml"--><br> <br> <!-- Multi-Faceted -->
<br> <!--#include "enum.conf.xml"--><br> <br> <!-- XML Interfaces --><br> <!--#include "xml_rpc.conf.xml"--><br> <!--#include "xml_cdr.conf.xml"--><br>
<!--#include "xml_curl.conf.xml"--><br> <!-- none for mod_xml_cdr --><br> <br> <!-- Event Handlers --><br> <!--#include "cdr.conf.xml"--><br> <!--#include "event_multicast.conf.xml"-->
<br> <!--#include "event_socket.conf.xml"--><br> <!--#include "xmpp_event.conf.xml"--><br> <!--#include "zeroconf.conf.xml"--><br> <br> <!-- Directory Interfaces -->
<br> <!-- none for mod_ldap; dialplan_directory.conf.xml has ldap connection info --><br> <br> <!-- Endpoints --><br> <!--#include "dingaling.conf.xml"--><br> <!--#include "
iax.conf.xml"--><br> <!--#include "portaudio.conf.xml"--><br> <!--#include "alsa.conf.xml"--><br> <!--#include "sofia.conf.xml"--><br> <!--#include "
wanpipe.conf.xml"--><br> <!--#include "woomera.conf.xml"--><br> <br> <!-- Applications --><br> <!-- none for mod_bridgecall, mod_commands, mod_echo, mod_park, mod_playback -->
<br> <!--#include "conference.conf.xml"--><br> <!-- ivr.conf is used by mod_dptools --><br> <!--#include "ivr.conf.xml"--><br> <br> <!-- Dialplan Interfaces --><br>
<!--#include "dialplan_directory.conf.xml"--><br> <!-- mod_dialplan_xml is configured in the separate "dialplan" section. --><br> <br> <!-- Codec Interfaces --><br> <!-- no configuration needed -->
<br> <!-- File Format Interfaces --><br> <!-- no configuration needed --><br> <!-- Timers --><br> <!-- no configuration needed --><br> <br> <!-- Languages --><br> <!--#include "
spidermonkey.conf.xml"--><br> <!-- none for mod_perl --><br> <br> <!-- ASR /TTS --><br> <!-- none for mod_cepstral --><br> <!--#include "rss.conf.xml"--><br> <!--#include "mod_openmrcp.conf.xml"-->
<br> <br> <!-- Say --><br> <!-- none for mod_say_en --><br> <!--#include "mod_cdr.conf.xml"--><br> <!--#include "mod_local_stream.conf.xml"--><br> <br> </section>
<br> <section name="dialplan" description="Regex/XML Dialplan"><br> <!--#include "default_context.xml"--><br> </section><br> <br> <!-- mod_dingaling is reliant on the vcard data in the "directory" section. -->
<br> <!-- mod_sofia is reliant on the user data for authorization --><br> <section name="directory" description="User Directory"><br> <!--#include "directory.xml"-->
<br> </section><br> <br> <!-- phrases section (under development still) --><br> <section name="phrases" description="Speech Phrase Management"><br> <macros><br> <language name="en" sound_path="/snds" tts_engine="cepstral" tts_voice="david">
<br> <!--#include "lang_en.xml"--><br> </language><br> <language name="fr" sound_path="/var/sounds/lang/fr/jean" tts_engine="cepstral" tts_voice="jean-pierre">
<br> <!--#include "lang_fr.xml"--><br> </language><br> </macros><br> </section><br> <br> </document><br> <br> <br> <b><i><u>Sofia.conf.xml</u></i></b><br> <br> <configuration name="
sofia.conf" description="sofia Endpoint"><br> <profiles><br> <profile name="test1"><br> <!--aliases are other names that will work as a valid profile name for this profile-->
<br> <aliases><br> <alias name="test1"/><br> </aliases><br> <!-- Outbound Registrations --><br> <gateways><br> <gateway name="test1">
<br> <!--/// account username *required* ///--><br> <param name="username" value="<i>myusername B</i>"/><br> <!--/// auth realm: *optional* same as gateway name, if blank ///-->
<br> <param name="realm" value="<i><a href="http://1.2.3.4" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.2.3.4</a></i>"/><br> <!--/// domain to use in from: *optional* same as realm, if blank ///-->
<br> <!--<param name="from-domain" value="<a href="http://asterlink.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">asterlink.com</a>"/>--><br> <!--/// account password *required* ///-->
<br> <param name="password" value="xxxx"/><br> <!--/// replace the INVITE from user with the channel's caller-id ///--><br> <!--<param name="caller-id-in-from" value="false"/>-->
<br> <!--/// extension for inbound calls: *optional* same as username, if blank ///--><br> <param name="extension" value="<i>myusername B</i>"/><br> <!--/// proxy host: *optional* same as realm, if blank ///-->
<br> <param name="proxy" value="<i><a href="http://1.2.3.4" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.2.3.4</a></i>"/><br> <!--/// expire in seconds: *optional* 3600, if blank ///-->
<br> <param name="expire-seconds" value="60"/><br> <!--/// do not register ///--><br> <param name="register" value="true"/><br> <!--How many seconds before a retry when a failure or timeout occurs -->
<br> <param name="retry_seconds" value="30"/><br> <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway --><br> <param name="disable-transcoding" value="true"/>
<br> <param name="caller-id-in-from" value="false"/><br> </gateway><br> </gateways><br> <br> <domains><br> <!-- indicator to parse the directory for domains with parse="true" to get gateways-->
<br> <!--<domain name="$${domain}" parse="true"/>--><br> </domains><br> <br> <settings><br> <param name="debug" value="1"/>
<br> <param name="rfc2833-pt" value="101"/><br> <param name="sip-port" value="5060"/><br> <param name="dialplan" value="XML"/>
<br> <param name="dtmf-duration" value="100"/><br> <param name="codec-prefs" value="$${global_codec_prefs}"/><br> <param name="codec-ms" value="20"/>
<br> <param name="use-rtp-timer" value="true"/><br> <param name="rtp-timer-name" value="soft"/><br> <param name="rtp-ip" value="$${bind_server_ip}"/>
<br> <param name="sip-ip" value="$${bind_server_ip}"/><br> <!--set to 'greedy' if you want your codec list to take precedence --><br> <param name="inbound-codec-negotiation" value="generous"/>
<br> <!-- if you want to send any special bind params of your own --><br> <!--<param name="bind-params" value="transport=udp"/>--><br> <br> <!--If you don't want to pass through timestampes from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
<br> <!--<param name="rtp-rewrite-timestampes" value="true"/>--><br> <br> <!--If you have ODBC support and a working dsn you can use it instead of SQLite--><br> <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
<br> <br> <!--Uncomment to set all inbound calls to no media mode--><br> <!--<param name="inbound-no-media" value="true"/>--><br> <br> <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
<br> <!--<param name="inbound-late-negotiation" value="true"/>--><br> <br> <!-- this lets anything register --><br> <!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
<br> <param name="accept-blind-reg" value="true"/><br> <br> <!--TTL for nonce in sip auth--><br> <param name="nonce-ttl" value="60"/><br> <!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
<br> that the originator is using--><br> <!--<param name="disable-transcoding" value="true"/>--><br> <!--<param name="auth-calls" value="true"/>-->
<br> <!-- on authed calls, authenticate *all* the packets not just invite --><br> <!--<param name="auth-all-packets" value="true"/>--><br> <br> <!-- <param name="ext-rtp-ip" value="$${external_rtp_ip}"/>-->
<br> <br> <!-- <param name="ext-sip-ip" value="<a href="http://100.101.102.103" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">100.101.102.103</a>"/> --><br>
<!-- VAD choose one (out is a good choice); --><br> <!-- <param name="vad" value="in"/> --><br> <!-- <param name="vad" value="out"/> -->
<br> <i><u><br> </u></i> </settings><br> </profile><br> <profiles><br> <br> </profiles><br> <profile name="test2"><br> <!--aliases are other names that will work as a valid profile name for this profile-->
<br> <aliases><br> <alias name="test2"/><br> </aliases><br> <gateways><br> <gateway name="test2"><br> <!--/// account username *required*///-->
<br> <param name="username" value="<i>username A</i>"/><br> <!--/// auth realm: *optional* same as gateway name, if blank ///--><br> <param name="realm" value="
<i>a.b.c.d</i>"/><br> <!--/// domain to use in from: *optional* same as realm, if blank ///--><br> <!--<param name="from-domain" value="<a href="http://asterlink.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
asterlink.com</a>"/>--><br> <!--/// account password *required* ///--><br> <param name="password" value="<i>password</i>"/><br> <!--/// replace the INVITE from user with the channel's caller-id ///-->
<br> <param name="caller-id-in-from" value="false"/><br> <!--/// extension for inbound calls: *optional* same as username, if blank ///--><br> <!--<param name="extension" value="cluecon"/>-->
<br> <!--/// proxy host: *optional* same as realm, if blank ///--><br> <param name="proxy" value="<i>a.b.c.d</i>"/><br> <!--/// expire in seconds: *optional* 3600, if blank ///-->
<br> <param name="expire-seconds" value="60"/><br> <!--/// do not register ///--><br> <param name="register" value="true"/><br> <!--How many seconds before a retry when a failure or timeout occurs -->
<br> <!--<param name="retry_seconds" value="30"/>--><br> <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway --><br> -<param name="caller-id-in-from" value="false"/>
<br> <param name="disable-transcoding" value="true"/><br> </gateway><br> </gateways><br> <br> <settings><br> <param name="debug" value="1"/>
<br> <param name="rfc2833-pt" value="101"/><br> <param name="sip-port" value="5061"/><br> <param name="dialplan" value="XML"/>
<br> <param name="dtmf-duration" value="100"/><br> <param name="codec-prefs" value="$${global_codec_prefs}"/><br> <param name="codec-ms" value="20"/>
<br> <param name="use-rtp-timer" value="true"/><br> <param name="rtp-timer-name" value="soft"/><br> <param name="rtp-ip" value="$${bind_server_ip}"/>
<br> <param name="sip-ip" value="$${bind_server_ip}"/><br> <!--set to 'greedy' if you want your codec list to take precedence --><br> <param name="inbound-codec-negotiation" value="generous"/>
<br> <!-- if you want to send any special bind params of your own --><br> <!--<param name="bind-params" value="transport=udp"/>--><br> <br> <!--If you don't want to pass through timestampes from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
<br> <!--<param name="rtp-rewrite-timestampes" value="true"/>--><br> <br> <!--If you have ODBC support and a working dsn you can use it instead of SQLite--><br> <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
<br> <br> <!--Uncomment to set all inbound calls to no media mode--><br> <!--<param name="inbound-no-media" value="true"/>--><br> <br> <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
<br> <!--<param name="inbound-late-negotiation" value="true"/>--><br> <br> <!-- this lets anything register --><br> <!-- comment the next line and uncomment one or both of the other 2 lines for call authentication -->
<br> <param name="accept-blind-reg" value="true"/><br> <br> <!--TTL for nonce in sip auth--><br> <param name="nonce-ttl" value="60"/><br> <!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec
<br> that the originator is using--><br> <!--<param name="disable-transcoding" value="true"/>--><br> <!--<param name="auth-calls" value="true"/>-->
<br> <!-- on authed calls, authenticate *all* the packets not just invite --><br> <!--<param name="auth-all-packets" value="true"/>--><br> <br> <!-- <param name="ext-rtp-ip" value="$${external_rtp_ip}"/>-->
<br> <br> <!-- <param name="ext-sip-ip" value="<a href="http://100.101.102.103" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">100.101.102.103</a>"/> --><br>
<!-- VAD choose one (out is a good choice); --><br> <!-- <param name="vad" value="in"/> --><br> <!-- <param name="vad" value="out"/> -->
<br> <!-- <param name="vad" value="both"/> --><br> <!-- <param name="ext-sip-ip" value="<a href="http://100.101.102.103" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
100.101.102.103</a>"/> --><br> <!-- VAD choose one (out is a good choice); --><br> <!-- <param name="vad" value="in"/> --><br> <!-- <param name="vad" value="out"/> -->
<br> <!-- <param name="vad" value="both"/> --><br> <!--<param name="alias" value=<a>"sip:10.0.1.251:5555"</a>/>--><br> </settings>
<br> </profile><br> </profiles><br> </configuration><br> <br> <br> appreciate it if anybody could give me clue<br> <br> Thx,<br> <br> ~pieter~<br> <br> <br> <br> <i><u><br> <br> </u><br> <br> </i>
</span></div><div style="margin: 0px;">_______________________________________________</div><div style="margin: 0px;">Freeswitch-users mailing list</div><div style="margin: 0px;"><a href="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
Freeswitch-users@lists.freeswitch.org</a></div><div style="margin: 0px;"><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
</a></div><div style="margin: 0px;">UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://lists.freeswitch.org/mailman/options/freeswitch-users
</a></div><div style="margin: 0px;"><a href="http://www.freeswitch.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.freeswitch.org</a></div> </blockquote></div><br></div></div><br>_______________________________________________
<br>Freeswitch-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>UNSUBSCRIBE:<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">
http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br><br></blockquote>
</div><br>