]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Start the sofia configuration dialog.
authorJoão Mesquita <jmesquita@freeswitch.org>
Thu, 7 Jan 2010 03:50:18 +0000 (03:50 +0000)
committerJoão Mesquita <jmesquita@freeswitch.org>
Thu, 7 Jan 2010 03:50:18 +0000 (03:50 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16190 d0543943-73ff-0310-b7d9-9358b9ac24b2

fscomm/FSComm.pro
fscomm/conf/freeswitch.xml
fscomm/conf/sofia.conf.xml [new file with mode: 0644]
fscomm/prefdialog.ui

index 14df1e4c1a3c8bf2e0649fbe1e932a904d516457..1c14a78fa17ad22079bc28fcd20a804bc3809c2f 100644 (file)
@@ -39,4 +39,5 @@ FORMS += mainwindow.ui \
 RESOURCES += resources.qrc
 OTHER_FILES += conf/portaudio.conf.xml \
     conf/event_socket.conf.xml \
-    conf/freeswitch.xml
+    conf/freeswitch.xml \
+    conf/sofia.conf.xml
index b49804dfe502e0eabc94ed457875c9d5b006364f..a1bbbc5681eab3d8b444f57d3081b24b73989b28 100644 (file)
 <?xml version="1.0"?>
 <document type="freeswitch/xml">
-  <X-PRE-PROCESS cmd="set" data="auto_answer=false"/>
-  <X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
-  <X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
-  <X-PRE-PROCESS cmd="set" data="codec_prefs=CELT@48000h,G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>
-  <X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
-  <X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
-  <X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
-  <X-PRE-PROCESS cmd="set" data="outbound_caller_id=0000000000"/>
-  <X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
-  <X-PRE-PROCESS cmd="set" data="default_gateway=default"/>
-  <X-PRE-PROCESS cmd="set" data="us-ring=%(2000, 4000, 440.0, 480.0)"/>
-  <X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
-  <X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
+       <X-PRE-PROCESS cmd="set" data="auto_answer=false"/>
+       <X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
+       <X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
+       <X-PRE-PROCESS cmd="set" data="codec_prefs=CELT@48000h,G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>
+       <X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
+       <X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
+       <X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
+       <X-PRE-PROCESS cmd="set" data="default_gateway=default"/>
+       <X-PRE-PROCESS cmd="set" data="us-ring=%(2000, 4000, 440.0, 480.0)"/>
+       <X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
+       <X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
 
-  <section name="configuration" description="Various Configuration">
-    <configuration name="cdr_csv.conf" description="CDR CSV Format">
-      <settings>
-       <param name="default-template" value="example"/>
-       <param name="rotate-on-hup" value="true"/>
-       <param name="legs" value="a"/>
-      </settings>
-      <templates>
-       <template name="example">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}"</template>
-      </templates>
-    </configuration>
+       <section name="configuration" description="Various Configuration">
+               <configuration name="cdr_csv.conf" description="CDR CSV Format">
+                       <settings>
+                               <param name="default-template" value="example"/>
+                               <param name="rotate-on-hup" value="true"/>
+                               <param name="legs" value="a"/>
+                       </settings>
+                       <templates>
+                               <template name="example">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}"</template>
+                       </templates>
+               </configuration>
 
-    <configuration name="console.conf" description="Console Logger">
-      <mappings>
-       <map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
-      </mappings>
-      <settings>
-       <param name="colorize" value="true"/>
-       <param name="loglevel" value="$${console_loglevel}"/>
-      </settings>
-    </configuration>
+               <configuration name="console.conf" description="Console Logger">
+                       <mappings>
+                               <map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
+                       </mappings>
+                       <settings>
+                               <param name="colorize" value="true"/>
+                               <param name="loglevel" value="$${console_loglevel}"/>
+                       </settings>
+               </configuration>
 
-    <configuration name="enum.conf" description="ENUM Module">
-      <settings>
-       <param name="default-root" value="e164.org"/>
-       <param name="default-isn-root" value="freenum.org"/>
-       <param name="query-timeout" value="10"/>
-       <param name="auto-reload" value="true"/>
-      </settings>
-      <routes>
-       <route service="E2U+SIP" regex="sip:(.*)" replace="sofia/softphone/$1"/>
-      </routes>
-    </configuration>
+               <configuration name="enum.conf" description="ENUM Module">
+                       <settings>
+                               <param name="default-root" value="e164.org"/>
+                               <param name="default-isn-root" value="freenum.org"/>
+                               <param name="query-timeout" value="10"/>
+                               <param name="auto-reload" value="true"/>
+                       </settings>
+                       <routes>
+                               <route service="E2U+SIP" regex="sip:(.*)" replace="sofia/softphone/$1"/>
+                       </routes>
+               </configuration>
 
-    <configuration name="qsettings.conf" description="configures our mod_qsettings">
-                <bindings value="configuration" />
-    </configuration>
+               <configuration name="qsettings.conf" description="configures our mod_qsettings">
+                       <bindings value="configuration" />
+               </configuration>
 
-    <configuration name="local_stream.conf" description="stream files from local dir">
-      <directory name="moh/48000" path="$${base_dir}/sounds/music/48000">
-       <param name="rate" value="48000"/>
-       <param name="shuffle" value="true"/>
-       <param name="channels" value="1"/>
-       <param name="interval" value="10"/>
-       <param name="timer-name" value="soft"/>
-      </directory>
-    </configuration>
+               <configuration name="local_stream.conf" description="stream files from local dir">
+                       <directory name="moh/48000" path="$${base_dir}/sounds/music/48000">
+                               <param name="rate" value="48000"/>
+                               <param name="shuffle" value="true"/>
+                               <param name="channels" value="1"/>
+                               <param name="interval" value="10"/>
+                               <param name="timer-name" value="soft"/>
+                       </directory>
+               </configuration>
 
-    <configuration name="logfile.conf" description="File Logging">
-      <settings>
-       <param name="rotate-on-hup" value="true"/>
-      </settings>
-      <profiles>
-       <profile name="default">
-         <settings>
-         </settings>
-         <mappings>
-           <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
-         </mappings>
-       </profile>
-      </profiles>
-    </configuration>
+               <configuration name="logfile.conf" description="File Logging">
+                       <settings>
+                               <param name="rotate-on-hup" value="true"/>
+                       </settings>
+                       <profiles>
+                               <profile name="default">
+                                       <settings>
+                                       </settings>
+                                       <mappings>
+                                               <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+                                       </mappings>
+                               </profile>
+                       </profiles>
+               </configuration>
 
-    <configuration name="modules.conf" description="Modules">
-      <modules>
-       <load module="mod_console"/>
-       <load module="mod_logfile"/>
-       <load module="mod_enum"/>
-       <load module="mod_cdr_csv"/>
-       <load module="mod_sofia"/>
-       <load module="mod_loopback"/>
-       <load module="mod_commands"/>
-       <load module="mod_dptools"/>
-       <load module="mod_dialplan_xml"/>
-       <load module="mod_voipcodecs"/>
-       <load module="mod_ilbc"/>
-       <load module="mod_speex"/>
-       <load module="mod_celt"/>
-       <load module="mod_siren"/>
-       <load module="mod_sndfile"/>
-       <load module="mod_tone_stream"/>
-       <load module="mod_local_stream"/>
-        <load module="mod_portaudio"/>
-        <load module="mod_event_socket"/>
-      </modules>
-    </configuration>
+               <configuration name="modules.conf" description="Modules">
+                       <modules>
+                               <load module="mod_console"/>
+                               <load module="mod_logfile"/>
+                               <load module="mod_enum"/>
+                               <load module="mod_cdr_csv"/>
+                               <load module="mod_sofia"/>
+                               <load module="mod_loopback"/>
+                               <load module="mod_commands"/>
+                               <load module="mod_dptools"/>
+                               <load module="mod_dialplan_xml"/>
+                               <load module="mod_voipcodecs"/>
+                               <load module="mod_ilbc"/>
+                               <load module="mod_speex"/>
+                               <load module="mod_celt"/>
+                               <load module="mod_siren"/>
+                               <load module="mod_sndfile"/>
+                               <load module="mod_tone_stream"/>
+                               <load module="mod_local_stream"/>
+                               <load module="mod_portaudio"/>
+                               <load module="mod_event_socket"/>
+                       </modules>
+               </configuration>
 
-    <configuration name="post_load_modules.conf" description="Modules">
-      <modules>
-      </modules>
-    </configuration>
+               <configuration name="post_load_modules.conf" description="Modules">
+                       <modules>
+                       </modules>
+               </configuration>
 
-    <configuration name="sofia.conf" description="sofia Endpoint">
-      <global_settings>
-       <param name="log-level" value="0"/>
-       <param name="auto-restart" value="true"/>
-       <param name="debug-presence" value="0"/>
-      </global_settings>
-      <profiles>
-       <profile name="softphone">
-         <gateways>
-           <X-PRE-PROCESS cmd="include" data="accounts/*.xml"/>
-         </gateways>
-         <settings>
-           <!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
-            <param name="user-agent-string" value="FreeSWITCH/FSComm"/>
-           <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
-           <param name="debug" value="0"/>
-           <param name="sip-trace" value="no"/>
-           <param name="context" value="public"/>
-           <param name="rfc2833-pt" value="101"/>
-           <!-- port to bind to for sip traffic -->
-           <param name="sip-port" value="12345"/>
-           <param name="dialplan" value="XML"/>
-           <param name="dtmf-duration" value="100"/>
-           <param name="codec-prefs" value="$${codec_prefs}"/>
-           <param name="use-rtp-timer" value="true"/>
-           <param name="rtp-timer-name" value="soft"/>
-           <!-- ip address to use for rtp, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
-           <param name="rtp-ip" value="$${local_ip_v4}"/>
-           <!-- ip address to bind to, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
-           <param name="sip-ip" value="$${local_ip_v4}"/>
-           <param name="hold-music" value="$${hold_music}"/>
-           <param name="apply-nat-acl" value="rfc1918"/>
-           <!--<param name="enable-timer" value="false"/>-->
-           <!--<param name="enable-100rel" value="true"/>-->
-           <!--<param name="minimum-session-expires" value="120"/>-->
-           <!--<param name="dtmf-type" value="info"/>-->
-           <param name="manage-presence" value="false"/>
-           <!--<param name="bitpacking" value="aal2"/> -->
-           <param name="max-proceeding" value="3"/>
-           <!--<param name="session-timeout" value="120"/>-->
-           <!--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"/>-->
-           <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
-           <!--<param name="inbound-late-negotiation" value="true"/>-->
-           <!--<param name="accept-blind-reg" value="true"/> -->
-           <!--<param name="accept-blind-auth" value="true"/> -->
-           <!--<param name="suppress-cng" value="true"/> -->
-           <param name="nonce-ttl" value="60"/>
-           <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
-           <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
-           <param name="auth-calls" value="false"/>
-           <param name="auth-all-packets" value="false"/>
-           <param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
-           <param name="ext-sip-ip" value="$${external_sip_ip}"/>
-           <!-- rtp inactivity timeout -->
-           <param name="rtp-timeout-sec" value="300"/>
-           <param name="rtp-hold-timeout-sec" value="1800"/>
-           <!-- 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="disable-register" value="true"/>
-           <!--<param name="NDLB-force-rport" value="true"/>-->
-           <param name="challenge-realm" value="auto_from"/>
-           <!--<param name="disable-rtp-auto-adjust" value="true"/>-->
-           <!--<param name="inbound-use-callid-as-uuid" value="true"/>-->
-           <!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
-           <!--<param name="auto-rtp-bugs" data="clear"/>-->
-         </settings>
-       </profile>
-      </profiles>
-    </configuration>
+               <configuration name="sofia.conf" description="sofia Endpoint">
+                       <global_settings>
+                               <param name="log-level" value="0"/>
+                               <param name="auto-restart" value="true"/>
+                               <param name="debug-presence" value="0"/>
+                       </global_settings>
+                       <profiles>
+                               <profile name="softphone">
+                                       <gateways>
+                                               <X-PRE-PROCESS cmd="include" data="accounts/*.xml"/>
+                                       </gateways>
+                                       <settings>
+                                               <!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
+                                               <param name="user-agent-string" value="FreeSWITCH/FSComm"/>
+                                               <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
+                                               <param name="debug" value="0"/>
+                                               <param name="sip-trace" value="no"/>
+                                               <param name="context" value="public"/>
+                                               <param name="rfc2833-pt" value="101"/>
+                                               <!-- port to bind to for sip traffic -->
+                                               <param name="sip-port" value="12345"/>
+                                               <param name="dialplan" value="XML"/>
+                                               <param name="dtmf-duration" value="100"/>
+                                               <param name="codec-prefs" value="$${codec_prefs}"/>
+                                               <param name="use-rtp-timer" value="true"/>
+                                               <param name="rtp-timer-name" value="soft"/>
+                                               <!-- ip address to use for rtp, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+                                               <param name="rtp-ip" value="$${local_ip_v4}"/>
+                                               <!-- ip address to bind to, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+                                               <param name="sip-ip" value="$${local_ip_v4}"/>
+                                               <param name="hold-music" value="$${hold_music}"/>
+                                               <param name="apply-nat-acl" value="rfc1918"/>
+                                               <!--<param name="enable-timer" value="false"/>-->
+                                               <!--<param name="enable-100rel" value="true"/>-->
+                                               <!--<param name="minimum-session-expires" value="120"/>-->
+                                               <!--<param name="dtmf-type" value="info"/>-->
+                                               <param name="manage-presence" value="false"/>
+                                               <!--<param name="bitpacking" value="aal2"/> -->
+                                               <param name="max-proceeding" value="3"/>
+                                               <!--<param name="session-timeout" value="120"/>-->
+                                               <!--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"/>-->
+                                               <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
+                                               <!--<param name="inbound-late-negotiation" value="true"/>-->
+                                               <!--<param name="accept-blind-reg" value="true"/> -->
+                                               <!--<param name="accept-blind-auth" value="true"/> -->
+                                               <!--<param name="suppress-cng" value="true"/> -->
+                                               <param name="nonce-ttl" value="60"/>
+                                               <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
+                                               <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
+                                               <param name="auth-calls" value="false"/>
+                                               <param name="auth-all-packets" value="false"/>
+                                               <param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
+                                               <param name="ext-sip-ip" value="$${external_sip_ip}"/>
+                                               <!-- rtp inactivity timeout -->
+                                               <param name="rtp-timeout-sec" value="300"/>
+                                               <param name="rtp-hold-timeout-sec" value="1800"/>
+                                               <!-- 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="disable-register" value="true"/>
+                                               <!--<param name="NDLB-force-rport" value="true"/>-->
+                                               <param name="challenge-realm" value="auto_from"/>
+                                               <!--<param name="disable-rtp-auto-adjust" value="true"/>-->
+                                               <!--<param name="inbound-use-callid-as-uuid" value="true"/>-->
+                                               <!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
+                                               <!--<param name="auto-rtp-bugs" data="clear"/>-->
+                                       </settings>
+                               </profile>
+                       </profiles>
+               </configuration>
 
-    <configuration name="switch.conf" description="Core Configuration">
-      <cli-keybindings>
-       <key name="1" value="help"/>
-       <key name="2" value="status"/>
-       <key name="3" value="pa answer"/>
-       <key name="4" value="pa hangup"/>
-       <key name="5" value="sofia status"/>
-       <key name="6" value="reloadxml"/>
-       <key name="7" value="console loglevel 0"/>
-       <key name="8" value="console loglevel 7"/>
-       <key name="9" value="sofia status profile softphone"/>
-       <key name="10" value="fsctl pause"/>
-       <key name="11" value="fsctl resume"/>
-       <key name="12" value="version"/>
-      </cli-keybindings> 
-      <settings>
-       <param name="colorize-console" value="true"/>
-       <param name="max-sessions" value="20"/>
-       <param name="sessions-per-second" value="5"/>
-       <param name="loglevel" value="debug"/>
-       <param name="crash-protection" value="false"/>
-       <param name="dump-cores" value="yes"/>
-       <param name="rtp-start-port" value="16384"/>
-       <param name="rtp-end-port" value="16484"/>
-      </settings>
-    </configuration>
-  </section>
-  
-  <section name="dialplan" description="Regex/XML Dialplan">
-    <context name="default">
-      <extension name="codec_and_sip_uri">
-       <condition field="destination_number" expression="^sip:(.*):(.*)$">
-         <action application="bridge" data="{absolute_codec_string=$1}sofia/softphone/$2"/>
-       </condition>
-      </extension>
-      <extension name="sip_uri">
-       <condition field="destination_number" expression="^sip:(.*)$">
-         <action application="bridge" data="sofia/softphone/$1"/>
-       </condition>
-      </extension>
-      <extension name="codec_and_number">
-       <condition field="destination_number" expression="^(.*):(.*)@(.*)$">
-         <action application="bridge" data="{absolute_codec_string=$1}sofia/gateway/$3/$2"/>
-       </condition>
-      </extension>
-      <extension name="number">
-       <condition field="destination_number" expression="^(.*)@(.*)$">
-         <action application="bridge" data="sofia/gateway/$2/$1"/>
-       </condition>
-      </extension>
-      <extension name="number">
-       <condition field="destination_number" expression="^(.*)$">
-         <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
-       </condition>
-      </extension>
-    </context>
-    <context name="public">
-      <extension name="public_extensions">
-       <condition field="$${auto_answer}" expression="^true$"/>
-       <condition field="destination_number" expression="^(.*)$">
-         <action application="info"/>
-         <action application="bridge" data="portaudio/auto_answer"/>
-       </condition>
-      </extension>
-      <extension name="public_extensions">
-       <condition field="${sip_to_params}" expression="intercom=true"/>
-       <condition field="${alert_info}" expression="Ring;Answer"/>
-       <condition field="destination_number" expression="^(.*)$">
-         <action application="info"/>
-         <action application="bridge" data="portaudio/auto_answer"/>
-       </condition>
-      </extension>
-      <extension name="public_extensions">
-       <condition field="destination_number" expression="^(.*)$">
-         <action application="info"/>
-         <action application="set" data="ringback=${us-ring}"/>
-         <action application="pre_answer"/>
-         <action application="bridge" data="portaudio"/>
-       </condition>
-      </extension>
-    </context>
-  </section>
+               <configuration name="switch.conf" description="Core Configuration">
+                       <cli-keybindings>
+                               <key name="1" value="help"/>
+                               <key name="2" value="status"/>
+                               <key name="3" value="pa answer"/>
+                               <key name="4" value="pa hangup"/>
+                               <key name="5" value="sofia status"/>
+                               <key name="6" value="reloadxml"/>
+                               <key name="7" value="console loglevel 0"/>
+                               <key name="8" value="console loglevel 7"/>
+                               <key name="9" value="sofia status profile softphone"/>
+                               <key name="10" value="fsctl pause"/>
+                               <key name="11" value="fsctl resume"/>
+                               <key name="12" value="version"/>
+                       </cli-keybindings> 
+                       <settings>
+                               <param name="colorize-console" value="true"/>
+                               <param name="max-sessions" value="20"/>
+                               <param name="sessions-per-second" value="5"/>
+                               <param name="loglevel" value="debug"/>
+                               <param name="crash-protection" value="false"/>
+                               <param name="dump-cores" value="yes"/>
+                               <param name="rtp-start-port" value="16384"/>
+                               <param name="rtp-end-port" value="16484"/>
+                       </settings>
+               </configuration>
+       </section>
+
+       <section name="dialplan" description="Regex/XML Dialplan">
+               <context name="default">
+                       <extension name="codec_and_sip_uri">
+                               <condition field="destination_number" expression="^sip:(.*):(.*)$">
+                                       <action application="bridge" data="{absolute_codec_string=$1}sofia/softphone/$2"/>
+                               </condition>
+                       </extension>
+                       <extension name="sip_uri">
+                               <condition field="destination_number" expression="^sip:(.*)$">
+                                       <action application="bridge" data="sofia/softphone/$1"/>
+                               </condition>
+                       </extension>
+                       <extension name="codec_and_number">
+                               <condition field="destination_number" expression="^(.*):(.*)@(.*)$">
+                                       <action application="bridge" data="{absolute_codec_string=$1}sofia/gateway/$3/$2"/>
+                               </condition>
+                       </extension>
+                       <extension name="number">
+                               <condition field="destination_number" expression="^(.*)@(.*)$">
+                                       <action application="bridge" data="sofia/gateway/$2/$1"/>
+                               </condition>
+                       </extension>
+                       <extension name="number">
+                               <condition field="destination_number" expression="^(.*)$">
+                                       <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
+                               </condition>
+                       </extension>
+               </context>
+               <context name="public">
+                       <extension name="public_extensions">
+                               <condition field="$${auto_answer}" expression="^true$"/>
+                               <condition field="destination_number" expression="^(.*)$">
+                                       <action application="info"/>
+                                       <action application="bridge" data="portaudio/auto_answer"/>
+                               </condition>
+                       </extension>
+                       <extension name="public_extensions">
+                               <condition field="${sip_to_params}" expression="intercom=true"/>
+                               <condition field="${alert_info}" expression="Ring;Answer"/>
+                               <condition field="destination_number" expression="^(.*)$">
+                                       <action application="info"/>
+                                       <action application="bridge" data="portaudio/auto_answer"/>
+                               </condition>
+                       </extension>
+                       <extension name="public_extensions">
+                               <condition field="destination_number" expression="^(.*)$">
+                                       <action application="info"/>
+                                       <action application="set" data="ringback=${us-ring}"/>
+                                       <action application="pre_answer"/>
+                                       <action application="bridge" data="portaudio"/>
+                               </condition>
+                       </extension>
+               </context>
+       </section>
 </document>
 
 
diff --git a/fscomm/conf/sofia.conf.xml b/fscomm/conf/sofia.conf.xml
new file mode 100644 (file)
index 0000000..ad9a394
--- /dev/null
@@ -0,0 +1,129 @@
+<document type="freeswitch/xml">
+       <section name="configuration">
+               <configuration name="sofia.conf" description="sofia Endpoint">
+                       <global_settings>
+                               <param name="log-level" value="${log-level}"/>
+                               <param name="auto-restart" value="${auto-restart}"/>
+                               <param name="debug-presence" value="${debug-presence}"/>
+                               <param name="rewrite-multicasted-fs-path" value="${rewrite-multicasted-fs-path}"/>
+                       </global_settings>
+                       <profiles>
+                               <profile name="softphone">
+                                       <settings>
+                                               <param name="debug" value="${debug}" />
+                                               <param name="shutdown-on-fail" value="${shutdown-on-fail}" />
+                                               <param name="sip-trace" value="${sip-trace}" />
+                                               <param name="odbc-dsn" value="${odbc-dsn}" />
+                                               <param name="user-agent-string" value="${user-agent-string}" />
+                                               <param name="auto-restart" value="${auto-restart}" />
+                                               <param name="log-auth-failures" value="${log-auth-failures}" />
+                                               <param name="dtmf-type" value="${dtmf-type}" />
+                                               <param name="NDLB-force-rport" value="${NDLB-force-rport}" />
+                                               <param name="auto-rtp-bugs" value="${auto-rtp-bugs}" />
+                                               <param name="dbname" value="${dbname}" />
+                                               <param name="presence-hosts" value="${presence-hosts}" />
+                                               <param name="caller-id-type" value="${caller-id-type}" />
+                                               <param name="record-template" value="${record-template}" />
+                                               <param name="record-path" value="${record-path}" />
+                                               <param name="inbound-bypass-media" value="${inbound-bypass-media}" />
+                                               <param name="inbound-late-negotiation" value="${inbound-late-negotiation}" />
+                                               <param name="rtp-autoflush-during-bridge" value="${rtp-autoflush-during-bridge}" />
+                                               <param name="manual-redirect" value="${manual-redirect}" />
+                                               <param name="inbound-proxy-media" value="${inbound-proxy-media}" />
+                                               <param name="force-subscription-expires" value="${force-subscription-expires}" />
+                                               <param name="send-message-query-on-register" value="${send-message-query-on-register}" />
+                                               <param name="inbound-use-callid-as-uuid" value="${inbound-use-callid-as-uuid}" />
+                                               <param name="outbound-use-uuid-as-callid" value="${outbound-use-uuid-as-callid}" />
+                                               <param name="NDLB-received-in-nat-reg-contact" value="${NDLB-received-in-nat-reg-contact}" />
+                                               <param name="aggressive-nat-detection" value="${aggressive-nat-detection}" />
+                                               <param name="disable-rtp-auto-adjust" value="${disable-rtp-auto-adjust}" />
+                                               <param name="NDLB-support-asterisk-missing-srtp-auth" value="${NDLB-support-asterisk-missing-srtp-auth}" />
+                                               <param name="NDLB-funny-stun" value="${NDLB-funny-stun}" />
+                                               <param name="stun-enabled" value="${stun-enabled}" />
+                                               <param name="stun-auto-disable" value="${stun-auto-disable}" />
+                                               <param name="rfc2833-pt" value="${rfc2833-pt}" />                                               
+                                               <param name="cng-pt" value="${cng-pt}" />
+                                               <param name="sip-port" value="${sip-port}" />
+                                               <param name="vad" value="${vad}" />
+                                               <param name="ext-rtp-ip" value="${ext-rtp-ip}" />
+                                               <param name="rtp-ip" value="${rtp-ip}" />
+                                               <param name="ext-sip-ip" value="${ext-sip-ip}" />
+                                               <param name="local-network-acl" value="${local-network-acl}" />
+                                               <param name="force-register-domain" value="${force-register-domain}" />
+                                               <param name="force-register-db-domain" value="${force-register-db-domain}" />
+                                               <param name="bind-params" value="${bind-params}" />
+                                               <param name="sip-domain" value="${sip-domain}" />
+                                               <param name="rtp-timer-name" value="${rtp-timer-name}" />
+                                               <param name="hold-music" value="${hold-music}" />
+                                               <param name="outbound-proxy" value="${outbound-proxy}" />
+                                               <param name="session-timeout" value="${session-timeout}" />
+                                               <param name="max-proceeding" value="${max-proceeding}" />
+                                               <param name="rtp-timeout-sec" value="${rtp-timeout-sec}" />
+                                               <param name="rtp-hold-timeout-sec" value="${rtp-hold-timeout-sec}" />
+                                               <param name="disable-transfer" value="${disable-transfer}" />
+                                               <param name="disable-register" value="${disable-register}" />
+                                               <param name="media-option" value="${media-option}" />
+                                               <param name="manage-presence" value="${manage-presence}" />
+                                               <param name="manage-shared-appearance" value="${manage-shared-appearance}" />
+                                               <param name="disable-srv" value="${disable-srv}" />
+                                               <param name="disable-naptr" value="${disable-naptr}" />
+                                               <param name="unregister-on-options-fail" value="${unregister-on-options-fail}" />
+                                               <param name="require-secure-rtp" value="${require-secure-rtp}" />
+                                               <param name="multiple-registrations" value="${multiple-registrations}" />
+                                               <param name="suppress-cng" value="${suppress-cng}" />
+                                               <param name="NDLB-broken-auth-hash" value="${NDLB-broken-auth-hash}" />
+                                               <param name="NDLB-sendrecv-in-session" value="${NDLB-sendrecv-in-session}" />
+                                               <param name="NDLB-allow-bad-iananame" value="${NDLB-allow-bad-iananame}" />
+                                               <param name="pass-rfc2833" value="${pass-rfc2833}" />
+                                               <param name="rtp-autoflush" value="${rtp-autoflush}" />
+                                               <param name="rtp-autofix-timing" value="${rtp-autofix-timing}" />
+                                               <param name="contact-user" value="${contact-user}" />
+                                               <param name="nat-options-ping" value="${nat-options-ping}" />
+                                               <param name="inbound-codec-negotiation" value="${inbound-codec-negotiation}" />
+                                               <param name="disable-transcoding" value="${disable-transcoding}" />
+                                               <param name="rtp-rewrite-timestamps" value="${rtp-rewrite-timestamps}" />
+                                               <param name="auth-calls" value="${auth-calls}" />
+                                               <param name="nonce-ttl" value="${nonce-ttl}" />
+                                               <param name="accept-blind-reg" value="${accept-blind-reg}" />
+                                               <param name="enable-3pcc" value="${enable-3pcc}" />
+                                               <param name="accept-blind-auth" value="${accept-blind-auth}" />
+                                               <param name="auth-all-packets" value="${auth-all-packets}" />
+                                               <param name="full-id-in-dialplan" value="${full-id-in-dialplan}" />
+                                               <param name="inbound-reg-force-matching-username" value="${inbound-reg-force-matching-username}" />
+                                               <param name="enable-timer" value="${enable-timer}" />
+                                               <param name="minimum-session-expires" value="${minimum-session-expires}" />
+                                               <param name="enable-100rel" value="${enable-100rel}" />
+                                               <param name="enable-compact-headers" value="${enable-compact-headers}" />
+                                               <param name="pass-callee-id" value="${pass-callee-id}" />
+                                               <param name="sql-in-transactions" value="${sql-in-transactions}" />
+                                               <param name="enable-soa" value="${enable-soa}" />
+                                               <param name="bitpacking" value="${bitpacking}" />
+                                               <param name="username" value="${username}" />
+                                               <param name="context" value="${context}" />
+                                               <param name="apply-nat-acl" value="${apply-nat-acl}" />
+                                               <param name="apply-inbound-acl" value="${apply-inbound-acl}" />
+                                               <param name="apply-proxy-acl" value="${apply-proxy-acl}" />
+                                               <param name="apply-register-acl" value="${apply-register-acl}" />
+                                               <param name="alias" value="${alias}" />
+                                               <param name="dialplan" value="${dialplan}" />
+                                               <param name="max-calls" value="${max-calls}" />
+                                               <param name="codec-prefs" value="${codec-prefs}" />
+                                               <param name="inbound-codec-prefs" value="${inbound-codec-prefs}" />
+                                               <param name="outbound-codec-prefs" value="${outbound-codec-prefs}" />
+                                               <param name="challenge-realm" value="${challenge-realm}" />
+                                               <param name="dtmf-duration" value="${dtmf-duration}" />
+                                               <param name="tls" value="${tls}" />
+                                               <param name="tls-bind-params" value="${tls-bind-params}" />
+                                               <param name="tls-sip-port" value="${tls-sip-port}" />
+                                               <param name="tls-cert-dir" value="${tls-cert-dir}" />
+                                               <param name="tls-version" value="${tls-version}" />
+                                               <param name="timer-T1" value="${timer-T1}" />
+                                               <param name="timer-T1X64" value="${timer-T1X64}" />
+                                               <param name="timer-T2" value="${timer-T2}" />
+                                               <param name="timer-T4" value="${timer-T4}" />
+                                       </settings>
+                               </profile>
+                       </profiles>
+               </configuration>
+       </section>
+</document>
index 63d83ea4c26a49a9e48f35cd791b9cdc32ed8f20..d4330dc7f4701ff9b9e6efef731574bd70a1791f 100644 (file)
@@ -6,14 +6,14 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>711</width>
-    <height>437</height>
+    <width>752</width>
+    <height>496</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Preferences</string>
   </property>
-  <layout class="QGridLayout" name="gridLayout_2">
+  <layout class="QGridLayout" name="gridLayout">
    <item row="0" column="0">
     <widget class="QListWidget" name="listSections">
      <property name="minimumSize">
      </property>
      <item>
       <property name="text">
-       <string>Sofia</string>
+       <string>General</string>
       </property>
       <property name="icon">
        <iconset resource="resources.qrc">
-        <normaloff>:/images/pref_sip.png</normaloff>:/images/pref_sip.png</iconset>
+        <normaloff>:/images/pref_general.jpg</normaloff>:/images/pref_general.jpg</iconset>
       </property>
      </item>
      <item>
       <property name="text">
-       <string>PortAudio</string>
+       <string>Sofia</string>
       </property>
       <property name="icon">
        <iconset resource="resources.qrc">
-        <normaloff>:/images/pref_audio.gif</normaloff>:/images/pref_audio.gif</iconset>
+        <normaloff>:/images/pref_sip.png</normaloff>:/images/pref_sip.png</iconset>
       </property>
      </item>
      <item>
       <property name="text">
-       <string>General</string>
+       <string>PortAudio</string>
       </property>
       <property name="icon">
        <iconset resource="resources.qrc">
-        <normaloff>:/images/pref_general.jpg</normaloff>:/images/pref_general.jpg</iconset>
+        <normaloff>:/images/pref_audio.gif</normaloff>:/images/pref_audio.gif</iconset>
       </property>
      </item>
     </widget>
      <property name="currentIndex">
       <number>1</number>
      </property>
-     <widget class="QWidget" name="page">
-      <layout class="QVBoxLayout" name="verticalLayout_2">
+     <widget class="QWidget" name="page_3">
+      <layout class="QVBoxLayout" name="verticalLayout_3">
        <item>
-        <widget class="QGroupBox" name="groupBox">
+        <widget class="QGroupBox" name="groupBox_5">
          <property name="title">
-          <string>Global Settings</string>
+          <string>User Information</string>
          </property>
-         <layout class="QFormLayout" name="formLayout">
+         <layout class="QFormLayout" name="formLayout_4">
           <item row="0" column="0">
-           <widget class="QLabel" name="label">
+           <widget class="QLabel" name="label_13">
             <property name="text">
-             <string>log-level</string>
+             <string>CallerID Name:</string>
             </property>
            </widget>
           </item>
           <item row="0" column="1">
-           <widget class="QSpinBox" name="logLevelSpin"/>
+           <widget class="QLineEdit" name="PaCallerIdNameEdit"/>
           </item>
           <item row="1" column="0">
-           <widget class="QLabel" name="label_2">
+           <widget class="QLabel" name="label_14">
             <property name="text">
-             <string>auto-restart</string>
+             <string>CallerID Number:</string>
             </property>
            </widget>
           </item>
           <item row="1" column="1">
-           <widget class="QComboBox" name="autoRestartCombo"/>
-          </item>
-          <item row="2" column="0">
-           <widget class="QLabel" name="label_3">
-            <property name="text">
-             <string>debug-presence</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="1">
-           <widget class="QSpinBox" name="debugPresenceSpin"/>
+           <widget class="QLineEdit" name="PaCallerIdNumEdit"/>
           </item>
          </layout>
         </widget>
        </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="page">
+      <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
-        <widget class="QGroupBox" name="groupBox_2">
-         <property name="title">
-          <string>Softphone Profile</string>
+        <widget class="QTabWidget" name="tabWidget">
+         <property name="currentIndex">
+          <number>1</number>
          </property>
-         <layout class="QFormLayout" name="formLayout_2">
-          <item row="0" column="0">
-           <widget class="QLabel" name="label_4">
-            <property name="text">
-             <string>user-agent-string</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="1">
-           <widget class="QLineEdit" name="userAgentStringEdit"/>
-          </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="label_5">
-            <property name="text">
-             <string>debug</string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="1">
-           <widget class="QSpinBox" name="debugSpin"/>
-          </item>
-          <item row="2" column="0">
-           <widget class="QLabel" name="label_6">
-            <property name="text">
-             <string>sip-trace</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="1">
-           <widget class="QComboBox" name="sipTraceCombo"/>
-          </item>
-         </layout>
+         <widget class="QWidget" name="tab">
+          <attribute name="title">
+           <string>General</string>
+          </attribute>
+          <layout class="QVBoxLayout" name="verticalLayout_5">
+           <item>
+            <widget class="QGroupBox" name="groupBox">
+             <property name="title">
+              <string>Global Settings</string>
+             </property>
+             <layout class="QFormLayout" name="formLayout">
+              <item row="0" column="0">
+               <widget class="QLabel" name="label">
+                <property name="text">
+                 <string>log-level</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="1">
+               <widget class="QSpinBox" name="logLevelSpin"/>
+              </item>
+              <item row="1" column="0">
+               <widget class="QLabel" name="label_2">
+                <property name="text">
+                 <string>auto-restart</string>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="1">
+               <widget class="QComboBox" name="autoRestartCombo">
+                <item>
+                 <property name="text">
+                  <string>true</string>
+                 </property>
+                </item>
+                <item>
+                 <property name="text">
+                  <string>false</string>
+                 </property>
+                </item>
+               </widget>
+              </item>
+              <item row="2" column="0">
+               <widget class="QLabel" name="label_3">
+                <property name="text">
+                 <string>debug-presence</string>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="1">
+               <widget class="QSpinBox" name="debugPresenceSpin"/>
+              </item>
+              <item row="3" column="0">
+               <widget class="QLabel" name="label_15">
+                <property name="text">
+                 <string>rewrite-multicasted-fs-path</string>
+                </property>
+               </widget>
+              </item>
+              <item row="3" column="1">
+               <widget class="QComboBox" name="comboBox">
+                <item>
+                 <property name="text">
+                  <string>false</string>
+                 </property>
+                </item>
+                <item>
+                 <property name="text">
+                  <string>true</string>
+                 </property>
+                </item>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="tab_2">
+          <attribute name="title">
+           <string>Profiles</string>
+          </attribute>
+          <layout class="QVBoxLayout" name="verticalLayout_4">
+           <item>
+            <widget class="QGroupBox" name="groupBox_2">
+             <property name="title">
+              <string>Softphone Profile</string>
+             </property>
+             <layout class="QFormLayout" name="formLayout_2">
+              <item row="0" column="0">
+               <widget class="QLabel" name="label_4">
+                <property name="text">
+                 <string>user-agent-string</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="1">
+               <widget class="QLineEdit" name="userAgentStringEdit"/>
+              </item>
+              <item row="1" column="0">
+               <widget class="QLabel" name="label_5">
+                <property name="text">
+                 <string>debug</string>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="1">
+               <widget class="QSpinBox" name="debugSpin"/>
+              </item>
+              <item row="2" column="0">
+               <widget class="QLabel" name="label_6">
+                <property name="text">
+                 <string>sip-trace</string>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="1">
+               <widget class="QComboBox" name="sipTraceCombo">
+                <item>
+                 <property name="text">
+                  <string>false</string>
+                 </property>
+                </item>
+                <item>
+                 <property name="text">
+                  <string>true</string>
+                 </property>
+                </item>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+          </layout>
+         </widget>
         </widget>
        </item>
       </layout>
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="page_3">
-      <layout class="QVBoxLayout" name="verticalLayout_3">
-       <item>
-        <widget class="QGroupBox" name="groupBox_5">
-         <property name="title">
-          <string>User Information</string>
-         </property>
-         <layout class="QFormLayout" name="formLayout_4">
-          <item row="0" column="0">
-           <widget class="QLabel" name="label_13">
-            <property name="text">
-             <string>CallerID Name:</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="1">
-           <widget class="QLineEdit" name="PaCallerIdNameEdit"/>
-          </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="label_14">
-            <property name="text">
-             <string>CallerID Number:</string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="1">
-           <widget class="QLineEdit" name="PaCallerIdNumEdit"/>
-          </item>
-         </layout>
-        </widget>
-       </item>
-      </layout>
-     </widget>
     </widget>
    </item>
    <item row="1" column="1">