]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Make caller id per account option available. Needs to wipe out the ~/.fscomm/conf...
authorJoão Mesquita <jmesquita@freeswitch.org>
Thu, 28 Jan 2010 03:13:57 +0000 (03:13 +0000)
committerJoão Mesquita <jmesquita@freeswitch.org>
Thu, 28 Jan 2010 03:13:57 +0000 (03:13 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16529 d0543943-73ff-0310-b7d9-9358b9ac24b2

fscomm/conf/freeswitch.xml
fscomm/fshost.cpp
fscomm/fshost.h
fscomm/mainwindow.cpp
fscomm/preferences/accountdialog.cpp
fscomm/preferences/accountdialog.ui

index 0d1d5c0d6374b3a03469107e907470a66961156f..18e514546d9b32d0c7d5c1fa81e9477518a12aa3 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="console_loglevel=info"/>
-       <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="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="portaudio.conf" description="Soundcard Endpoint">
                   <settings>
                       </settings>
                 </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">
-                                       <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">
+                                        <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>
+                <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="^(.*)$">
+        <section name="dialplan" description="Regex/XML Dialplan">
+                <context name="default">
+                        <extension name="codec_and_sip_uri">
+                                <condition field="destination_number" expression="^sip:(.*):(.*)$">
+                                        <action application="export" data="origination_caller_id_number=${fscomm_caller_id_num}"/>
+                                        <action application="export" data="origination_caller_id_name=${fscomm_caller_id_name}"/>
+                                        <action application="info"/>
+                                        <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="export" data="origination_caller_id_number=${fscomm_caller_id_num}"/>
+                                        <action application="export" data="origination_caller_id_name=${fscomm_caller_id_name}"/>
+                                        <action application="info"/>
+                                        <action application="bridge" data="sofia/softphone/$1"/>
+                                </condition>
+                        </extension>
+                        <extension name="codec_and_number">
+                                <condition field="destination_number" expression="^(.*):(.*)@(.*)$">
+                                        <action application="export" data="origination_caller_id_number=${fscomm_caller_id_num}"/>
+                                        <action application="export" data="origination_caller_id_name=${fscomm_caller_id_name}"/>
+                                        <action application="info"/>
+                                        <action application="bridge" data="{absolute_codec_string=$1}sofia/gateway/$3/$2"/>
+                                </condition>
+                        </extension>
+                        <extension name="number">
+                                <condition field="destination_number" expression="^(.*)@(.*)$">
+                                        <action application="export" data="origination_caller_id_number=${fscomm_caller_id_num}"/>
+                                        <action application="export" data="origination_caller_id_name=${fscomm_caller_id_name}"/>
+                                        <action application="info"/>
+                                        <action application="bridge" data="sofia/gateway/$2/$1"/>
+                                </condition>
+                        </extension>
+                        <extension name="number">
+                                <condition field="destination_number" expression="^(.*)$">
                                  <!-- Default gateway is set by FSComm when default account is selected -->
-                                       <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>
+                                        <action application="export" data="origination_caller_id_number=${fscomm_caller_id_num}"/>
+                                        <action application="export" data="origination_caller_id_name=${fscomm_caller_id_name}"/>
+                                        <action application="info"/>
+                                        <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="export" data="origination_caller_id_number=${fscomm_caller_id_num}"/>
+                                        <action application="export" data="origination_caller_id_name=${fscomm_caller_id_name}"/>
+                                        <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="export" data="origination_caller_id_number=${fscomm_caller_id_num}"/>
+                                        <action application="export" data="origination_caller_id_name=${fscomm_caller_id_name}"/>
+                                        <action application="info"/>
+                                        <action application="bridge" data="portaudio/auto_answer"/>
+                                </condition>
+                        </extension>
+                        <extension name="public_extensions">
+                                <condition field="destination_number" expression="^(.*)$">
+                                        <action application="export" data="origination_caller_id_number=${fscomm_caller_id_num}"/>
+                                        <action application="export" data="origination_caller_id_name=${fscomm_caller_id_name}"/>
+                                        <action application="info"/>
+                                        <action application="set" data="ringback=${us-ring}"/>
+                                        <action application="pre_answer"/>
+                                        <action application="bridge" data="portaudio"/>
+                                </condition>
+                        </extension>
+                </context>
+        </section>
 </document>
-
-
index 641d46e086958786c972703c3b5e70cc323a24d2..564fa843bde1215e6e98bd832217a593c80f92e0 100644 (file)
@@ -485,3 +485,22 @@ void FSHost::printEventHeaders(switch_event_t *event)
     }
     qDebug() << "\n\n";
 }
+
+QSharedPointer<Account> FSHost::getAccountByName(QString accStr)
+{
+    foreach(QSharedPointer<Account> acc, _accounts.values())
+    {
+        if (acc.data()->getName() == accStr)
+            return acc;
+    }
+    return QSharedPointer<Account>();
+}
+
+QSharedPointer<Account> FSHost::getCurrentDefaultAccount()
+{
+    QSettings settings;
+    settings.beginGroup("FreeSWITCH/conf/globals");
+    QString accString = settings.value("default_gateway").toString();
+    settings.endGroup();
+    return getAccountByName(accString);
+}
index f86cedab97878180002fa56a5c4c8e604a00e10b..e6b9a41bb6e75a05cfeb6a554a7a0b63f1f93427 100644 (file)
@@ -47,6 +47,8 @@ public:
     QSharedPointer<Call> getCurrentActiveCall();
     QList<QSharedPointer<Account> > getAccounts() { return _accounts.values(); }
     QSharedPointer<Account> getAccountByUUID(QString uuid);
+    QSharedPointer<Account> getCurrentDefaultAccount();
+    QSharedPointer<Account> getAccountByName(QString accStr);
     void accountReloadCmd(QSharedPointer<Account> acc);
 
 protected:
index b44570bf0c73457e6a4a73a1fe617e80663ad55d..95f8e3343d8596772ef2ca407687b37f83d49d91 100644 (file)
@@ -239,6 +239,36 @@ void MainWindow::makeCall()
     QString dialstring = QInputDialog::getText(this, tr("Make new call"),
                                          tr("Number to dial:"), QLineEdit::Normal, NULL,&ok);
 
+    QSharedPointer<Account> acc = g_FSHost.getCurrentDefaultAccount();
+    if (!acc.isNull()) {
+        QSettings settings;
+        settings.beginGroup("FreeSWITCH/conf/sofia.conf/profiles/profile/gateways/");
+        settings.beginGroup(acc.data()->getUUID());
+        settings.beginGroup("gateway/global_vars");
+        QString cidName = settings.value("caller_id_name").toString();
+        QString cidNum = settings.value("caller_id_num").toString();
+        settings.endGroup();
+        settings.endGroup();
+        settings.endGroup();
+
+        if (cidName.isEmpty()) {
+            settings.beginGroup("FreeSWITCH/conf/portaudio.conf/settings/params");
+            cidName = settings.value("cid-name").toString();
+            settings.endGroup();
+        }
+        if (cidNum.isEmpty()) {
+            settings.beginGroup("FreeSWITCH/conf/portaudio.conf/settings/params");
+            cidNum = settings.value("cid-num").toString();
+            settings.endGroup();
+        }
+
+        /* Set the vars for this call */
+        switch_core_set_variable("fscomm_caller_id_name", cidName.toAscii().data());
+        switch_core_set_variable("fscomm_caller_id_num", cidNum.toAscii().data());
+
+        qDebug() << "Name:" << cidName << "Num:" << cidNum;
+    }
+
     if (ok && !dialstring.isEmpty())
     {
         paCall(dialstring);
index 7470c5e3245a4a7714dd43e68daf93813e358d46..098977d8fee2ed1fb70c4d29601d35f9ce2cd9fb 100644 (file)
@@ -137,6 +137,17 @@ void AccountDialog::writeConfig()
     _settings->beginGroup("FreeSWITCH/conf/sofia.conf/profiles/profile/gateways");
 
     _settings->beginGroup(_accId);
+
+    _settings->beginGroup("gateway/global_vars");
+    if (ui->clidSettingsCombo->currentIndex() == 0)
+    {
+        _settings->remove("caller_id_name");
+        _settings->remove("caller_id_num");
+    } else {
+        _settings->setValue("caller_id_name", ui->sofiaCallerIDName->text());
+        _settings->setValue("caller_id_num", ui->sofiaCallerIDNum->text());
+    }
+    _settings->endGroup();
     
     _settings->beginGroup("gateway/attrs");
     _settings->setValue("name", ui->sofiaGwNameEdit->text());
index 309102a8219f6435e1718d9dda4a4cba049870bc..53d9100aaa55ab4bcd443039fef51d5f33bc6acd 100644 (file)
        <item row="9" column="1">
         <widget class="QComboBox" name="clidSettingsCombo">
          <property name="enabled">
-          <bool>false</bool>
+          <bool>true</bool>
          </property>
          <item>
           <property name="text">