[Freeswitch-users] Switch Gateway Routing

Pieter Eduard pieter_eduard at biznetnetworks.com
Fri Sep 21 08:12:41 EDT 2007


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 at jerris.com> wrote:
>   
>> sofia//777888888 at 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 at 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 at 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 at 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 at a.b.c.d:5060
>>     
>>> 2007-09-20 10:40:24 [DEBUG] sofia.c:1032 sofia_handle_sip_i_state()
>>>       
>> Channel sofia//777888888 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 20i,G729 at 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 at 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 at 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 at 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 at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
> .
>
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20070921/0b9d46a9/attachment-0001.html 


More information about the Freeswitch-users mailing list