Show
Ignore:
Timestamp:
12/12/11 13:06:22 (2 years ago)
Author:
p_lindheimer
Message:

only do CONNECTEDLINE() calls when the caller is another extension on the system to avoid propagating confusing SIP updates back to provider trunks

Files:

Legend:

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

    r13055 r13067  
    23552355      if ($amp_conf['AST_FUNC_MASTER_CHANNEL'] && $amp_conf['AST_FUNC_CONNECTEDLINE']) { 
    23562356        // Check that it is numeric so we don't pollute it with odd dialplan stuff like FMGL-blah from followme 
    2357         $ext->add($context, $exten, '', new ext_execif('$[!${REGEX("[^0-9]" ${DIALEDPEERNUMBER})}]', 'Set', 'MASTER_CHANNEL(CONNECTEDLINE(num))=${DIALEDPEERNUMBER}')); 
    2358         $ext->add($context, $exten, '', new ext_execif('$[!${REGEX("[^0-9]" ${DIALEDPEERNUMBER})}]', 'Set', 'MASTER_CHANNEL(CONNECTEDLINE(name))=${DB(AMPUSER/${DIALEDPEERNUMBER}/cidname)}')); 
     2357        $ext->add($context, $exten, '', new ext_execif('$[!${REGEX("[^0-9]" ${DIALEDPEERNUMBER})} && "${DB(AMPUSER/${AMPUSER}/cidname)}]" != ""', 'Set', 'MASTER_CHANNEL(CONNECTEDLINE(num))=${DIALEDPEERNUMBER}')); 
     2358        $ext->add($context, $exten, '', new ext_execif('$[!${REGEX("[^0-9]" ${DIALEDPEERNUMBER})} && "${DB(AMPUSER/${AMPUSER}/cidname)}]" != ""', 'Set', 'MASTER_CHANNEL(CONNECTEDLINE(name))=${DB(AMPUSER/${DIALEDPEERNUMBER}/cidname)}')); 
    23592359      } 
    23602360 
     
    23762376      if ($amp_conf['AST_FUNC_MASTER_CHANNEL'] && $amp_conf['AST_FUNC_CONNECTEDLINE']) { 
    23772377        // Check that it is numeric so we don't pollute it with odd dialplan stuff like FMGL-blah from followme 
    2378         $ext->add($context, $exten, '', new ext_execif('$[!${REGEX("[^0-9]" ${DIALEDPEERNUMBER})}]', 'Set', 'MASTER_CHANNEL(CONNECTEDLINE(num))=${DIALEDPEERNUMBER}')); 
    2379         $ext->add($context, $exten, '', new ext_execif('$[!${REGEX("[^0-9]" ${DIALEDPEERNUMBER})}]', 'Set', 'MASTER_CHANNEL(CONNECTEDLINE(name))=${DB(AMPUSER/${DIALEDPEERNUMBER}/cidname)}')); 
     2378        $ext->add($context, $exten, '', new ext_execif('$[!${REGEX("[^0-9]" ${DIALEDPEERNUMBER})} && "${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]', 'Set', 'MASTER_CHANNEL(CONNECTEDLINE(num))=${DIALEDPEERNUMBER}')); 
     2379        $ext->add($context, $exten, '', new ext_execif('$[!${REGEX("[^0-9]" ${DIALEDPEERNUMBER})} && "${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]', 'Set', 'MASTER_CHANNEL(CONNECTEDLINE(name))=${DB(AMPUSER/${DIALEDPEERNUMBER}/cidname)}')); 
    23802380      } 
    23812381 
     
    24572457 
    24582458      if ($amp_conf['AST_FUNC_CONNECTEDLINE'] && $amp_conf['OUTBOUND_DIAL_UPDATE']) { 
    2459         $ext->add($context, $exten, '', new ext_set('CONNECTEDLINE(num,i)', '${DIAL_NUMBER}')); 
     2459        $ext->add($context, $exten, '', new ext_set('$["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]','Set','CONNECTEDLINE(num,i)=${DIAL_NUMBER}')); 
    24602460      } 
    24612461      if ($amp_conf['AST_FUNC_CONNECTEDLINE'] && $amp_conf['OUTBOUND_CID_UPDATE']) { 
    2462         $ext->add($context, $exten, '', new ext_set('CONNECTEDLINE(name,i)', 'CID:${CALLERID(number)}')); 
     2462        $ext->add($context, $exten, '', new ext_set('$["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]','Set','CONNECTEDLINE(name,i)=CID:${CALLERID(number)}')); 
    24632463      } 
    24642464     
     
    25972597 
    25982598      if ($amp_conf['AST_FUNC_CONNECTEDLINE'] && $amp_conf['OUTBOUND_DIAL_UPDATE']) { 
    2599         $ext->add($context, $exten, '', new ext_set('CONNECTEDLINE(num,i)', '${DIAL_NUMBER}')); 
     2599        $ext->add($context, $exten, '', new ext_set('$["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]','Set','CONNECTEDLINE(num,i)=${DIAL_NUMBER}')); 
    26002600      } 
    26012601      if ($amp_conf['AST_FUNC_CONNECTEDLINE'] && $amp_conf['OUTBOUND_CID_UPDATE']) { 
    2602         $ext->add($context, $exten, '', new ext_set('CONNECTEDLINE(name,i)', 'CID:${CALLERID(number)}')); 
     2602        $ext->add($context, $exten, '', new ext_set('$["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]','Set','CONNECTEDLINE(name,i)=CID:${CALLERID(number)}')); 
    26032603      } 
    26042604     
     
    27892789 
    27902790      if ($amp_conf['AST_FUNC_CONNECTEDLINE'] && $amp_conf['OUTBOUND_DIAL_UPDATE']) { 
    2791         $ext->add($context, $exten, '', new ext_set('CONNECTEDLINE(num,i)', '${DIAL_NUMBER}')); 
     2791        $ext->add($context, $exten, '', new ext_set('$["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]','Set','CONNECTEDLINE(num,i)=${DIAL_NUMBER}')); 
    27922792      } 
    27932793      if ($amp_conf['AST_FUNC_CONNECTEDLINE'] && $amp_conf['OUTBOUND_CID_UPDATE']) { 
    2794         $ext->add($context, $exten, '', new ext_set('CONNECTEDLINE(name,i)', 'CID:${CALLERID(number)}')); 
     2794        $ext->add($context, $exten, '', new ext_set('$["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]','Set','CONNECTEDLINE(name,i)=CID:${CALLERID(number)}')); 
    27952795      } 
    27962796 
     
    38843884 
    38853885        // Once setting CONNECTEDLINE(), add the I option to Dial() so the device doesn't further update the value with the 
    3886         // "device" <devicenum> data from device CID information 
     3886        // "device" <devicenum> data from device CID information, don't send an update if the calling party is not an extension it breaks some providers 
    38873887        // 
    38883888        if ($amp_conf['AST_FUNC_CONNECTEDLINE']) { 
    3889           $ext->add($mcontext,$exten,'', new ext_gotoif('$["${DB(AMPUSER/${EXTTOCALL}/cidname)}" = ""]','godial')); 
     3889          $ext->add($mcontext,$exten,'', new ext_gotoif('$["${DB(AMPUSER/${EXTTOCALL}/cidname)}" = "" || "${DB(AMPUSER/${AMPUSER}/cidname)}" = ""]','godial')); 
    38903890          $ext->add($mcontext,$exten,'', new ext_set('CONNECTEDLINE(name,i)', '${DB(AMPUSER/${EXTTOCALL}/cidname)}')); 
    38913891          $ext->add($mcontext,$exten,'', new ext_set('CONNECTEDLINE(num)', '${EXTTOCALL}'));