<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">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 class="khtml-block-placeholder"></DIV><DIV>/b</DIV><DIV><BR><DIV><DIV>On Sep 20, 2007, at 12:19 AM, Pieter Eduard wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"> 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 1.2.3.4 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>1.2.3.4</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:stun.server.com"<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:stun.server.com"--><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>1.2.3.4</I>"/><BR> <!--/// domain to use in from: *optional* same as realm, if blank ///--><BR> <!--<param name="from-domain" value="asterlink.com"/>--><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>1.2.3.4</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="100.101.102.103"/> --><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="asterlink.com"/>--><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="100.101.102.103"/> --><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="100.101.102.103"/> --><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 class="moz-txt-link-rfc2396E" href="sip:10.0.1.251:5555">"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><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Freeswitch-users mailing list</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">UNSUBSCRIBE:<A href="http://lists.freeswitch.org/mailman/options/freeswitch-users">http://lists.freeswitch.org/mailman/options/freeswitch-users</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="http://www.freeswitch.org">http://www.freeswitch.org</A></DIV> </BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>