Show
Ignore:
Timestamp:
03/16/11 20:28:31 (2 years ago)
Author:
p_lindheimer
Message:

closes #4977 use new macro to prepend cid and allow it to be configured

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/branches/2.9/core/functions.inc.php

    r11814 r11823  
    12391239            $ext->add($context, $exten, '', new ext_setvar("__ALERT_INFO", str_replace(';', '\;', $item['alertinfo']))); 
    12401240          } 
    1241           // Add CID prefix, no need to do checks for existing pre-pends, this is an incoming did so this should 
    1242           // be the first time the CID is manipulated. We set _RGPREFIX which is the same used throughout the different 
    1243           // modules. 
    1244           // 
    1245           // TODO: If/When RGPREFIX is added to trunks, then see code in ringgroups to strip prefix if added here. 
    1246           // 
    1247           // TODO: core FreePBX documentation about this standard. (and probably rename from RGPREFIX to CIDPREFIX) 
    1248           // 
    12491241          if (!empty($item['grppre'])) { 
    1250             $ext->add($context, $exten, '', new ext_setvar('_RGPREFIX', $item['grppre'])); 
    1251             $ext->add($context, $exten, '', new ext_setvar('CALLERID(name)','${RGPREFIX}${CALLERID(name)}')); 
     1242            $ext->add($context, $exten, '', new ext_macro('prepend-cid', $item['grppre'])); 
    12521243          } 
    12531244           
     
    17791770        $ext->add($context, $exten, '', new ext_macroexit()); 
    17801771      } 
     1772 
     1773      /* macro-prepend-cid */ 
     1774      // prepend a cid and if set to replace previous prepends, do so, otherwise stack them 
     1775      // 
     1776      $mcontext = 'macro-prepend-cid'; 
     1777      $exten = 's'; 
     1778 
     1779      if ($amp_conf['CID_PREPEND_REPLACE']) { 
     1780        $ext->add($mcontext, $exten, '', new ext_gotoif('$["${RGPREFIX}" = ""]', 'REPCID')); 
     1781        $ext->add($mcontext, $exten, '', new ext_gotoif('$["${RGPREFIX}" != "${CALLERID(name):0:${LEN(${RGPREFIX})}}"]', 'REPCID')); 
     1782        $ext->add($mcontext, $exten, '', new ext_noop_trace('Current RGPREFIX is ${RGPREFIX}....stripping from Caller ID')); 
     1783        $ext->add($mcontext, $exten, '', new ext_set('CALLERID(name)', '${CALLERID(name):${LEN(${RGPREFIX})}}')); 
     1784        $ext->add($mcontext, $exten, '', new ext_set('_RGPREFIX', '')); 
     1785      } 
     1786      $ext->add($mcontext, $exten, 'REPCID', new ext_set('_RGPREFIX', '${ARG1}')); 
     1787      $ext->add($mcontext, $exten, '', new ext_set('CALLERID(name)','${RGPREFIX}${CALLERID(name)}')); 
     1788 
     1789 
    17811790 
    17821791      /* outbound routes */ 
     
    32043213      $ext->add($mcontext,$exten,'', new ext_set("__EXTTOCALL", '${ARG2}')); 
    32053214      $ext->add($mcontext,$exten,'', new ext_set("__PICKUPMARK", '${ARG2}')); 
    3206       $ext->add($mcontext,$exten,'', new ext_set("RT", '${IF($["${ARG1}"!="novm" | "${DB(CFU/${EXTTOCALL})}"!="" | "${DB(CFB/${EXTTOCALL})}"!=""]?${RINGTIMER}:"")}')); 
     3215      $ext->add($mcontext,$exten,'', new ext_set("RT", '${IF($["${ARG1}"!="novm" | "${DB(CFU/${EXTTOCALL})}"!="" | "${DB(CFB/${EXTTOCALL})}"!="" | ${ARG3} | ${ARG4} | ${ARG5}]?${RINGTIMER}:"")}')); 
    32073216      $ext->add($mcontext,$exten,'checkrecord', new ext_macro('record-enable','${EXTTOCALL},IN')); 
    32083217 
  • modules/branches/2.9/findmefollow/functions.inc.php

    r11380 r11823  
    123123 
    124124          // deal with group CID prefix 
    125           // but strip only if you plan on setting a new one 
    126125          if ($grppre != '') { 
    127             $ext->add($contextname, $grpnum, '', new ext_gotoif('$["foo${RGPREFIX}" = "foo"]', 'REPCID')); 
    128             $ext->add($contextname, $grpnum, '', new ext_gotoif('$["${RGPREFIX}" != "${CALLERID(name):0:${LEN(${RGPREFIX})}}"]', 'REPCID')); 
    129             $ext->add($contextname, $grpnum, '', new ext_noop('Current RGPREFIX is ${RGPREFIX}....stripping from Caller ID')); 
    130             $ext->add($contextname, $grpnum, '', new ext_setvar('CALLERID(name)', '${CALLERID(name):${LEN(${RGPREFIX})}}')); 
    131             $ext->add($contextname, $grpnum, '', new ext_setvar('_RGPREFIX', '')); 
    132             $ext->add($contextname, $grpnum, 'REPCID', new ext_noop('CALLERID(name) is ${CALLERID(name)}')); 
    133             $ext->add($contextname, $grpnum, '', new ext_setvar('_RGPREFIX', $grppre)); 
    134             $ext->add($contextname, $grpnum, '', new ext_setvar('CALLERID(name)','${RGPREFIX}${CALLERID(name)}')); 
     126            $ext->add($contextname, $grpnum, '', new ext_macro('prepend-cid', $grppre)); 
    135127          } 
    136128          // recording stuff 
  • modules/branches/2.9/queues/functions.inc.php

    r11789 r11823  
    393393 
    394394          // deal with group CID prefix 
    395           // Use the same variable as ringgroups/followme so that we can manage chaines of calls 
    396           // but strip only if you plan on setting a new one 
    397           // 
    398395          if ($grppre != '') { 
    399             $ext->add('ext-queues', $exten, '', new ext_gotoif('$["foo${RGPREFIX}" = "foo"]', 'REPCID')); 
    400             $ext->add('ext-queues', $exten, '', new ext_gotoif('$["${RGPREFIX}" != "${CALLERID(name):0:${LEN(${RGPREFIX})}}"]', 'REPCID')); 
    401             $ext->add('ext-queues', $exten, '', new ext_noop('Current RGPREFIX is ${RGPREFIX}....stripping from Caller ID')); 
    402             $ext->add('ext-queues', $exten, '', new ext_setvar('CALLERID(name)', '${CALLERID(name):${LEN(${RGPREFIX})}}')); 
    403             $ext->add('ext-queues', $exten, '', new ext_setvar('_RGPREFIX', '')); 
    404             $ext->add('ext-queues', $exten, 'REPCID', new ext_noop('CALLERID(name) is ${CALLERID(name)}')); 
    405             $ext->add('ext-queues', $exten, '', new ext_setvar('_RGPREFIX', $grppre)); 
    406             $ext->add('ext-queues', $exten, '', new ext_setvar('CALLERID(name)','${RGPREFIX}${CALLERID(name)}')); 
     396            $ext->add('ext-queues', $exten, '', new ext_macro('prepend-cid', $grppre)); 
    407397          } 
    408398 
  • modules/branches/2.9/ringgroups/functions.inc.php

    r11380 r11823  
    119119           
    120120          // deal with group CID prefix 
    121           // but strip only if you plan on setting a new one 
    122121          if ($grppre != '') { 
    123             $ext->add($contextname, $grpnum, '', new ext_gotoif('$["foo${RGPREFIX}" = "foo"]', 'REPCID')); 
    124             $ext->add($contextname, $grpnum, '', new ext_gotoif('$["${RGPREFIX}" != "${CALLERID(name):0:${LEN(${RGPREFIX})}}"]', 'REPCID')); 
    125             $ext->add($contextname, $grpnum, '', new ext_noop('Current RGPREFIX is ${RGPREFIX}....stripping from Caller ID')); 
    126             $ext->add($contextname, $grpnum, '', new ext_setvar('CALLERID(name)', '${CALLERID(name):${LEN(${RGPREFIX})}}')); 
    127             $ext->add($contextname, $grpnum, '', new ext_setvar('_RGPREFIX', '')); 
    128             $ext->add($contextname, $grpnum, 'REPCID', new ext_noop('CALLERID(name) is ${CALLERID(name)}')); 
    129             $ext->add($contextname, $grpnum, '', new ext_setvar('_RGPREFIX', $grppre)); 
    130             $ext->add($contextname, $grpnum, '', new ext_setvar('CALLERID(name)','${RGPREFIX}${CALLERID(name)}')); 
     122            $ext->add($contextname, $grpnum, '', new ext_macro('prepend-cid', $grppre)); 
    131123          } 
    132124