Exemplo n.º 1
0
 public static function conditioning()
 {
     $xml = FreeSWITCH::createExtension('callerid');
     $condition = '/condition[@field="${internal_caller_id_number}"][@expression="^.+$"]';
     $xml->update($condition . '/action[@application="set"][@data="effective_caller_id_name=${internal_caller_id_name}"]');
     $xml->update($condition . '/action[@application="set"][@data="effective_caller_id_number=${internal_caller_id_number}"]');
 }
Exemplo n.º 2
0
 public static function conditioning()
 {
     $xml = FreeSWITCH::createExtension('encryption');
     $condition = '/condition[@field="${sip_has_crypto}"][@expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$"][@break="never"]';
     $xml->update($condition . '/action[@application="set"][@data="sip_secure_media=true"]');
     $xml->update($condition . '/action[@application="export"][@data="sip_secure_media=true"]');
 }
Exemplo n.º 3
0
 public static function conditioning()
 {
     $xml = FreeSWITCH::createExtension('faxAutodetect');
     $condition = '/condition[@field="${dialedUser}"][@expression="^(.*)$"]';
     $xml->update($condition . '/action[@application="set"][@bluebox="settingDialedMWI"][@data="dialedMWI=user_data \'$1 param mwi-account\'"]');
     $xml->update($condition . '/action[@application="set"][@bluebox="settingDialedEmail"][@data="dialedEmail=user_data \'${dialedMWI} param email-addr\'"]');
     parent::conditioning();
 }
Exemplo n.º 4
0
 protected static function generateXml($section)
 {
     $features = Doctrine::getTable('FeatureCode')->findAll(Doctrine::HYDRATE_ARRAY);
     if ($features) {
         foreach ($features as $feature) {
             $xml = FreeSWITCH::createExtension('feature_code_' . $feature['feature_code_id']);
             if (isset($feature['registry'][$section])) {
                 Kohana::log('debug', 'Generating section ' . $section . ' for feature code ' . $feature['feature_code_id']);
                 $xml->replaceWithXml($feature['registry'][$section]);
             } else {
                 $xml->deleteNode();
             }
         }
     }
 }
Exemplo n.º 5
0
    public static function preAnswer()
    {
        // Record any outbound calls, if the user is auth'd and the flag is set
        $xml = FreeSWITCH::createExtension('callrecord_outbound');
        $filename = Kohana::config('freeswitch.audio_root') . '/../recordings/${uuid}.wav';
        // We'll always set the params for recorded calls, regardless of if they ever get used.
        $content = <<<XML

      <condition field="\${callrecord_outbound}" expression="^.+\$">
        <action application="record_session" data="{$filename}"/>
      </condition>
    
XML;
        $xml->replaceWithXml($content);
    }
Exemplo n.º 6
0
    public function postRoute()
    {
        $xml = FreeSWITCH::createExtension('global');
        // This XML code will track the number dialed, the caller ID of the last inbound call and/or some other basic info
        $newXml = <<<XML

      <condition>
        <action application="hash" data="insert/\${domain_name}-spymap/\${caller_id_number}/\${uuid}"/>
        <action application="hash" data="insert/\${domain_name}-last_dial/\${caller_id_number}/\${destination_number}"/>
        <action application="hash" data="insert/\${domain_name}-last_dial/global/\${uuid}"/>
        <action application="set" data="RFC2822_DATE=\${strftime(%a, %d %b %Y %T %z)}"/>
      </condition>
    
XML;
        $xml->replaceWithXml($newXml);
    }
Exemplo n.º 7
0
 public static function conditioning()
 {
     foreach (Doctrine::getTable("Context")->findAll(Doctrine::HYDRATE_ARRAY) as $context) {
         $newxml = "";
         if (isset($context["plugins"]["numbercleanup"])) {
             foreach ($context["plugins"]["numbercleanup"] as $cleanup) {
                 $newxml .= "        <condition field=\"{$cleanup['numberclean_searchfieldselect']}\" break=\"never\" expression=\"{$cleanup['numberclean_pattern']}\">\n";
                 if ($cleanup["numberclean_replacefieldselect"] == "destination_number") {
                     $newxml .= "            <action application=\"transfer\" data=\"{$cleanup['numberclean_newvalue']}\"/>\n";
                 } else {
                     $newxml .= "            <action inline=\"true\" application=\"set\" data=\"{$cleanup['numberclean_replacefieldselect']}={$cleanup['numberclean_newvalue']}\"/>\n";
                 }
                 $newxml .= "        </condition>\n";
             }
         }
         $xml = FreeSWITCH::createExtension('numbercleanup', "conditioning", "context_" . $context["context_id"]);
         if ($newxml == "") {
             $xml->deleteNode();
         } else {
             $xml->replaceWithXml("\n" . $newxml . "    ");
         }
     }
 }
Exemplo n.º 8
0
    public static function preanswer() {
	$xml = FreeSWITCH::createExtension('gtalk');

	$content = <<<XML

	<condition field="source" expression="^mod_dingaling$">
	        <action application="set" data="bypass_media=false"/>
		<action application="info"/>
	</condition>
        <condition field="\${gtalk_call}" expression="^true$">
            	<anti-action application="set" data="gtalk_call=true"/>
		<anti-action application="answer"/>
		<anti-action application="sleep" data="1000"/>
		<anti-action application="start_dtmf"/>
		<anti-action application="send_dtmf" data="1"/>
        </condition>

XML;

	$xml->replaceWithXml($content);
    }