Thanks for all your input guys !!!
Now thiz newbie can pass the traffic from A to B SIP server :-)

regards,

~pieter~

Jonas Gauffin wrote:
Your freeswitch.xml is invalid.

It should be "<!--#set "sip_profile=1.2.3.4" -->"
and not "#set "sip_profile=1.2.3.4""

I made the same mistake myself, when I first configured freeswitch.

The profile name should also match the one in sofia.conf.xml.

The profiles is used to be able to configure multiple sites in the
same switch. To make it easy, use the domain name as the profile name.


On 9/20/07, Michael Jerris <mike@jerris.com> wrote:
  
sofia//777888888@a.b.c.d:5060

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.


On 9/20/07, Brian West <brian.west@mac.com> wrote:
    
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?
    
/b




On Sep 20, 2007, at 12:19 AM, Pieter Eduard wrote:


Hi,

I just installed Freeswitch and my intention to use fs to route calls
      
between gateways but am still stuck with the proper configuration.
    
The simple diagram is like this :


subscriber A------> SIP Server A ------>Freeswitch----->SIP Server B----->
      
subscriber B
    
voip prefix                 ip a.b.c.d                  ip 1.2.3.4
      
   ip w.x.y.z            voip prefix
    
777888x
      
                                           999111x
    
I tried to call subscriber B from subscriber A but getting this error :

2007-09-20 10:40:24 [NOTICE] sofia.c:1171 sofia_handle_sip_i_state()
      
Hangup sofia//777888888@a.b.c.d:5060 [CS_NEW] [INCOMPATIBLE_DESTINATION]
    
2007-09-20 10:40:24 [DEBUG] switch_channel.c:1076
      
switch_channel_perform_hangup() Kill sofia//777888888@a.b.c.d:5060 [KILL]
    
2007-09-20 10:40:24 [DEBUG] switch_core_session.c:638
      
switch_core_session_signal_state_change() Kill
sofia//777888888@ a.b.c.d:5060 [BREAK]
    
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@a.b.c.d:5060
    
2007-09-20 10:40:24 [DEBUG] sofia.c:1032 sofia_handle_sip_i_state()
      
Channel sofia//777888888@a.b.c.d:5060 entering state [terminated]
    
2007-09-20 10:40:24 [DEBUG] switch_core_state_machine.c:347
      
switch_core_session_run() (sofia//777888888@ a.b.c.d:5060) State HANGUP
    
2007-09-20 10:40:24 [DEBUG] mod_sofia.c:217 sofia_on_hangup() Channel
      
sofia//777888888@a.b.c.d:5060 hanging up, cause: INCOMPATIBLE_DESTINATION
    
2007-09-20 10:40:24 [DEBUG] switch_core_state_machine.c:45
      
switch_core_standard_on_hangup() Standard HANGUP
sofia//777888888@ a.b.c.d:5060, cause: INCOMPATIBLE_DESTINATION
    
2007-09-20 10:40:24 [DEBUG] switch_core_session.c:697
      
switch_core_session_thread() Session 1 (sofia//777888888@a.b.c.d:5060)
Locked, Waiting on external entities
    
2007-09-20 10:40:24 [INFO] switch_core_session.c:703
      
switch_core_session_thread() Session 1 (sofia//777888888@a.b.c.d:5060) Ended
    
2007-09-20 10:40:24 [NOTICE] switch_core_session.c:705
      
switch_core_session_thread() Close Channel sofia//777888888@ a.b.c.d:5060
[CS_HANGUP]
    
Which configuration file should i edit so i could pass the traffic from A
      
to B through fs?
    
Here's my config@fs :

default_context.xml

<context name="default">

<!--outgoing extension-->
<extension name="test1">
      <condition field="destination_number"
      
expression="^(9991111[0-3]{3})$">
    
              <action application="set" data="call_timeout=30"/>
              <action application="set" data="continue_on_fail=true"/>
              <action application="set"
      
data="hangup_after_bridge=true"/>
    
              <action application="bridge"
      
data="sofia/gateway/test1/$1@w.x.y.z"/>
    
            </condition>
           </extension>

<extension name="test2">
       <condition field="destination_number"
      
expression="^(777888[0-9]{3})$">
    
            <action application="bridge"
      
data="sofia/$${sip_profile}/$1@a.b.c.d"/>
    
            </condition>
        </extension>


</context>


freeswitch.xml

<?xml version="1.0"?>
<document type="freeswitch/xml">

  <!-- Preprocessor Variables
       These are introduced when configuration strings must be consistent
      
across modules.
    
   -->
  <!-- sip_profile
       Must be a domain name if you are being a registry server; otherwise
       can be any string.
       used by: sofia.conf.xml enum.conf.xml default_context.xml
      
directory.xml
    
  -->
        #set "sip_profile= 1.2.3.4"
  <!-- xmpp_client_profile and xmpp_server_profile
       xmpp_client_profile can be any string.
       xmpp_server_profile is appended to "dingaling_" to form the
      
database name
    
       containing the "subscriptions" table.
       used by: dingaling.conf.xml enum.conf.xml
  -->
        #set "global_codec_prefs=PCMU@20i,G729@20"
  <!--#set "xmpp_client_profile=xmppc"-->
  <!--#set "xmpp_server_profile=xmpps"-->
  <!-- bind_server_ip
       Can be an ip address, a dns name, or "auto".
       This determines an ip address available on this host to bind.
       If you are separating RTP and SIP traffic, you will want to have
       use different addresses where this variable appears.
       Used by: sofia.conf.xml dingaling.conf.xml
  -->
  <!--#set "bind_server_ip=auto"-->
  <!-- external_rtp_ip
       Used as the public IP address for SDP.
       Can be an ip address or a string like "stun: stun.server.com"
       If unspecified, the bind_server_ip value is used.
       Used by: sofia.conf.xml dingaling.conf.xml
  -->
  <!--#set "external_rtp_ip=stun: stun.server.com"-->
  <!-- server_name
       A public ip address or DNS name that is used when advertising
      
conference
    
       presence or registering sip.
       Used by: conference.conf.xml
  -->
  <!-- outbound_caller_id and outbound_caller_name
       The caller ID telephone number we should use when calling out.
       Used by: conference.conf.xml
  -->
  <!--#set "outbound_caller_name=FreeSWITCH"-->
  <!--#set "outbound_caller_id=8777423583"-->

  <section name="configuration" description="Various Configuration">
    <!--#include "switch.conf.xml"-->
    <!--#include "modules.conf.xml"-->

    <!-- Order doesn't matter, but for clarity these are in same order as
      
modules.conf.xml.
    
         If they aren't loaded by modules.conf.xml, then they are ignored.
    -->
    <!-- Loggers -->
    <!--#include "console.conf.xml"-->
    <!--#include "syslog.conf.xml"-->

    <!-- Multi-Faceted -->
    <!--#include "enum.conf.xml"-->

    <!-- XML Interfaces -->
    <!--#include "xml_rpc.conf.xml"-->
    <!--#include "xml_cdr.conf.xml"-->
    <!--#include "xml_curl.conf.xml"-->
    <!-- none for mod_xml_cdr -->

    <!-- Event Handlers -->
    <!--#include "cdr.conf.xml"-->
    <!--#include "event_multicast.conf.xml"-->
    <!--#include "event_socket.conf.xml"-->
    <!--#include "xmpp_event.conf.xml"-->
    <!--#include "zeroconf.conf.xml"-->

    <!-- Directory Interfaces -->
    <!-- none for mod_ldap; dialplan_directory.conf.xml has ldap
      
connection info -->
    
    <!-- Endpoints -->
    <!--#include "dingaling.conf.xml"-->
    <!--#include " iax.conf.xml"-->
    <!--#include "portaudio.conf.xml"-->
    <!--#include "alsa.conf.xml"-->
    <!--#include "sofia.conf.xml"-->
    <!--#include " wanpipe.conf.xml"-->
    <!--#include "woomera.conf.xml"-->

    <!-- Applications -->
    <!-- none for mod_bridgecall, mod_commands, mod_echo, mod_park,
      
mod_playback -->
    
    <!--#include "conference.conf.xml"-->
    <!-- ivr.conf is used by mod_dptools -->
    <!--#include "ivr.conf.xml"-->

    <!-- Dialplan Interfaces -->
    <!--#include "dialplan_directory.conf.xml"-->
    <!-- mod_dialplan_xml is configured in the separate "dialplan"
      
section. -->
    
    <!-- Codec Interfaces -->
    <!-- no configuration needed -->
    <!-- File Format Interfaces -->
    <!-- no configuration needed -->
    <!-- Timers -->
    <!-- no configuration needed -->

    <!-- Languages -->
    <!--#include " spidermonkey.conf.xml"-->
    <!-- none for mod_perl -->

    <!-- ASR /TTS -->
    <!-- none for mod_cepstral -->
    <!--#include "rss.conf.xml"-->
    <!--#include "mod_openmrcp.conf.xml"-->

    <!-- Say -->
    <!-- none for mod_say_en -->
    <!--#include "mod_cdr.conf.xml"-->
    <!--#include "mod_local_stream.conf.xml"-->

</section>
  <section name="dialplan" description="Regex/XML Dialplan">
    <!--#include "default_context.xml"-->
  </section>

  <!-- mod_dingaling is reliant on the vcard data in the "directory"
      
section. -->
    
  <!-- mod_sofia is reliant on the user data for authorization -->
  <section name="directory" description="User Directory">
    <!--#include "directory.xml"-->
  </section>

  <!-- phrases section (under development still) -->
  <section name="phrases" description="Speech Phrase Management">
    <macros>
      <language name="en" sound_path="/snds" tts_engine="cepstral"
      
tts_voice="david">
    
        <!--#include "lang_en.xml"-->
      </language>
      <language name="fr"
      
sound_path="/var/sounds/lang/fr/jean" tts_engine="cepstral"
tts_voice="jean-pierre">
    
        <!--#include "lang_fr.xml"-->
      </language>
    </macros>
  </section>

</document>


Sofia.conf.xml

<configuration name=" sofia.conf" description="sofia Endpoint">
  <profiles>
    <profile name="test1">
      <!--aliases are other names that will work as a valid profile name
      
for this profile-->
    
      <aliases>
        <alias name="test1"/>
      </aliases>
      <!-- Outbound Registrations -->
      <gateways>
        <gateway name="test1">
          <!--/// account username *required* ///-->
          <param name="username" value="myusername B"/>
          <!--/// auth realm: *optional* same as gateway name, if blank
      
///-->
    
          <param name="realm" value="1.2.3.4"/>
          <!--/// domain to use in from: *optional* same as  realm, if
      
blank ///-->
    
          <!--<param name="from-domain" value="asterlink.com"/>-->
          <!--/// account password *required* ///-->
          <param name="password" value="xxxx"/>
          <!--/// replace the INVITE from user with the channel's
      
caller-id ///-->
    
          <!--<param name="caller-id-in-from" value="false"/>-->
          <!--/// extension for inbound calls: *optional* same as
      
username, if blank ///-->
    
          <param name="extension" value="myusername B"/>
          <!--/// proxy host: *optional* same as realm, if blank ///-->
          <param name="proxy" value="1.2.3.4"/>
          <!--/// expire in seconds: *optional* 3600, if blank ///-->
          <param name="expire-seconds" value="60"/>
          <!--/// do not register ///-->
          <param name="register" value="true"/>
          <!--How many seconds before a retry when a failure or timeout
      
occurs -->
    
          <param name="retry_seconds" value="30"/>
          <!--Use the callerid of an inbound call in the from field on
      
outbound calls via this gateway -->
    
          <param name="disable-transcoding" value="true"/>
          <param name="caller-id-in-from" value="false"/>
        </gateway>
      </gateways>

      <domains>
        <!-- indicator to parse the directory for domains with
      
parse="true" to get gateways-->
    
        <!--<domain name="$${domain}" parse="true"/>-->
      </domains>

      <settings>
        <param name="debug" value="1"/>
        <param name="rfc2833-pt" value="101"/>
        <param name="sip-port" value="5060"/>
        <param name="dialplan" value="XML"/>
        <param name="dtmf-duration" value="100"/>
        <param name="codec-prefs"
      
value="$${global_codec_prefs}"/>
    
        <param name="codec-ms" value="20"/>
        <param name="use-rtp-timer" value="true"/>
        <param name="rtp-timer-name" value="soft"/>
        <param name="rtp-ip" value="$${bind_server_ip}"/>
        <param name="sip-ip" value="$${bind_server_ip}"/>
        <!--set to 'greedy' if you want your codec list to take precedence
      
-->
    
        <param name="inbound-codec-negotiation"
      
value="generous"/>
    
        <!-- if you want to send any special bind params of your own -->
        <!--<param name="bind-params" value="transport=udp"/>-->

        <!--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)-->
    
        <!--<param name="rtp-rewrite-timestampes" value="true"/>-->

        <!--If you have ODBC support and a working dsn you can use it
      
instead of SQLite-->
    
        <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->

        <!--Uncomment to set all inbound calls to no media mode-->
        <!--<param name="inbound-no-media" value="true"/>-->

        <!--Uncomment to let calls hit the dialplan *before* you decide if
      
the codec is ok-->
    
        <!--<param name="inbound-late-negotiation" value="true"/>-->

        <!-- this lets anything register -->
        <!--  comment the next line and uncomment one or both of the other
      
2 lines for call authentication -->
    
        <param name="accept-blind-reg" value="true"/>

        <!--TTL for nonce in sip auth-->
        <param name="nonce-ttl" value="60"/>
        <!--Uncomment if you want to force the outbound leg of a bridge to
      
only offer the codec
    
            that the originator is using-->
        <!--<param name="disable-transcoding" value="true"/>-->
        <!--<param name="auth-calls" value="true"/>-->
        <!-- on authed calls, authenticate *all* the packets not just
      
invite -->
    
        <!--<param name="auth-all-packets" value="true"/>-->

        <!-- <param name="ext-rtp-ip"
      
value="$${external_rtp_ip}"/>-->
    
        <!-- <param name="ext-sip-ip" value="100.101.102.103"/> -->
        <!-- VAD choose one (out is a good choice); -->
        <!-- <param name="vad" value="in"/> -->
        <!-- <param name="vad" value="out"/> -->

      </settings>
    </profile>
<profiles>

</profiles>
    <profile name="test2">
      <!--aliases are other names that will work as a valid profile name
      
for this profile-->
    
      <aliases>
        <alias name="test2"/>
      </aliases>
        <gateways>
          <gateway name="test2">
          <!--/// account username *required*///-->
          <param name="username" value="username A"/>
          <!--/// auth realm: *optional* same as gateway name, if blank
      
///-->
    
          <param name="realm" value=" a.b.c.d"/>
          <!--/// domain to use in from: *optional* same as  realm, if
      
blank ///-->
    
          <!--<param name="from-domain" value=" asterlink.com"/>-->
          <!--/// account password *required* ///-->
          <param name="password" value="password"/>
          <!--/// replace the INVITE from user with the channel's
      
caller-id ///-->
    
          <param name="caller-id-in-from" value="false"/>
          <!--/// extension for inbound calls: *optional* same as
      
username, if blank ///-->
    
          <!--<param name="extension" value="cluecon"/>-->
          <!--/// proxy host: *optional* same as realm, if blank ///-->
          <param name="proxy" value="a.b.c.d"/>
          <!--/// expire in seconds: *optional* 3600, if blank ///-->
          <param name="expire-seconds" value="60"/>
          <!--/// do not register ///-->
          <param name="register" value="true"/>
          <!--How many seconds before a retry when a failure or timeout
      
occurs -->
    
          <!--<param name="retry_seconds" value="30"/>-->
          <!--Use the callerid of an inbound call in the from field on
      
outbound calls via this gateway -->
    
          -<param name="caller-id-in-from" value="false"/>
          <param name="disable-transcoding" value="true"/>
        </gateway>
      </gateways>

 <settings>
        <param name="debug" value="1"/>
        <param name="rfc2833-pt" value="101"/>
        <param name="sip-port" value="5061"/>
        <param name="dialplan" value="XML"/>
        <param name="dtmf-duration" value="100"/>
        <param name="codec-prefs"
      
value="$${global_codec_prefs}"/>
    
        <param name="codec-ms" value="20"/>
        <param name="use-rtp-timer" value="true"/>
        <param name="rtp-timer-name" value="soft"/>
        <param name="rtp-ip" value="$${bind_server_ip}"/>
        <param name="sip-ip" value="$${bind_server_ip}"/>
        <!--set to 'greedy' if you want your codec list to take precedence
      
-->
    
        <param name="inbound-codec-negotiation"
      
value="generous"/>
    
        <!-- if you want to send any special bind params of your own -->
        <!--<param name="bind-params" value="transport=udp"/>-->

        <!--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)-->
    
        <!--<param name="rtp-rewrite-timestampes" value="true"/>-->

        <!--If you have ODBC support and a working dsn you can use it
      
instead of SQLite-->
    
        <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->

        <!--Uncomment to set all inbound calls to no media mode-->
        <!--<param name="inbound-no-media" value="true"/>-->

        <!--Uncomment to let calls hit the dialplan *before* you decide if
      
the codec is ok-->
    
        <!--<param name="inbound-late-negotiation" value="true"/>-->

        <!-- this lets anything register -->
        <!--  comment the next line and uncomment one or both of the other
      
2 lines for call authentication -->
    
        <param name="accept-blind-reg" value="true"/>

        <!--TTL for nonce in sip auth-->
        <param name="nonce-ttl" value="60"/>
        <!--Uncomment if you want to force the outbound leg of a bridge to
      
only offer the codec
    
            that the originator is using-->
        <!--<param name="disable-transcoding" value="true"/>-->
        <!--<param name="auth-calls" value="true"/>-->
        <!-- on authed calls, authenticate *all* the packets not just
      
invite -->
    
        <!--<param name="auth-all-packets" value="true"/>-->

        <!-- <param name="ext-rtp-ip"
      
value="$${external_rtp_ip}"/>-->
    
        <!-- <param name="ext-sip-ip" value="100.101.102.103"/> -->
        <!-- VAD choose one (out is a good choice); -->
        <!-- <param name="vad" value="in"/> -->
        <!-- <param name="vad" value="out"/> -->
        <!-- <param name="vad" value="both"/> -->
        <!-- <param name="ext-sip-ip" value=" 100.101.102.103"/> -->
        <!-- VAD choose one (out is a good choice); -->
        <!-- <param name="vad" value="in"/> -->
        <!-- <param name="vad" value="out"/> -->
        <!-- <param name="vad" value="both"/> -->
        <!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
      </settings>
    </profile>
  </profiles>
</configuration>


 appreciate it if anybody could give me clue

Thx,

~pieter~








_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org

      
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
    
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
    
http://www.freeswitch.org

_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org

      
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
    
UNSUBSCRIBE:
      
http://lists.freeswitch.org/mailman/options/freeswitch-users
    
http://www.freeswitch.org


      
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org


    

_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
.