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}"]'); }
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"]'); }
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(); }
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(); } } } }
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); }
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); }
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 . " "); } } }
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); }