Changeset 3317

Show
Ignore:
Timestamp:
12/13/06 23:58:21 (5 years ago)
Author:
p_lindheimer
Message:

Hopefully the final fix to get all modes of transfering a received call that came in from a queue, ringgroup or followme to subsequent users or direct to their voicemail. Finally able to get rid of dolocaldial, meaning the queue transfers in particular won't ring forever. These change REQUIRE core changed to be checked in right after this

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/branches/2.3/findmefollow/functions.inc.php

    r3308 r3317  
    5959          $ext->add($contextname, $grpnum, '', new ext_macro('user-callerid')); 
    6060 
     61          // block voicemail until phone is answered at which point a macro should be called on the answering 
     62          // line to clear this flag so that subsequent transfers can occur, if already set by a the caller 
     63          // then don't change. 
     64          // 
     65          $ext->add($contextname, $grpnum, '', new ext_gotoif('$["foo${BLKVM_OVERRIDE}" = "foo"]', 'skipdb')); 
     66          $ext->add($contextname, $grpnum, '', new ext_gotoif('$["${DB(${BLKVM_OVERRIDE})}" = "TRUE"]', 'skipov')); 
     67 
     68          $ext->add($contextname, $grpnum, 'skipdb', new ext_setvar('__NODEST', '')); 
     69          $ext->add($contextname, $grpnum, '', new ext_setvar('__BLKVM_OVERRIDE', 'BLKVM/${EXTEN}/${CHANNEL}')); 
     70          $ext->add($contextname, $grpnum, '', new ext_setvar('__BLKVM_BASE', '${EXTEN}')); 
     71          $ext->add($contextname, $grpnum, '', new ext_setvar('DB(${BLKVM_OVERRIDE})', 'TRUE')); 
     72 
    6173          // Remember if NODEST was set later, but clear it in case the call is answered so that subsequent 
    6274          // transfers work. 
    6375          // 
    64           $ext->add($contextname, $grpnum, '', new ext_setvar('RRNODEST', '${NODEST}')); 
    65           $ext->add($contextname, $grpnum, '', new ext_gotoif('$["foo${RRNODEST}" != "foo"]', 'skipvmblk')); 
    66           $ext->add($contextname, $grpnum, '', new ext_setvar('RRNODEST', '${BLKVM}')); 
     76          $ext->add($contextname, $grpnum, 'skipov', new ext_setvar('RRNODEST', '${NODEST}')); 
    6777          $ext->add($contextname, $grpnum, 'skipvmblk', new ext_setvar('__NODEST', '${EXTEN}')); 
    6878 
     
    112122 
    113123          // Normal call 
    114           $ext->add($contextname, $grpnum, '', new ext_setvar('RECALL', '${NODEST}')); 
    115           $ext->add($contextname, $grpnum, '', new ext_setvar('__BLKVM', '${EXTEN}')); 
    116           $ext->add($contextname, $grpnum, '', new ext_setvar('__NODEST', '')); 
    117124          $ext->add($contextname, $grpnum, '', new  
    118125              ext_macro('dial','${DB(AMPUSER/'."$grpnum/followme/grptime)},$dialopts,".'${DB(AMPUSER/'."$grpnum/followme/grplist)}")); 
    119           $ext->add($contextname, $grpnum, '', new ext_setvar('__NODEST', '${RECALL}')); 
    120           $ext->add($contextname, $grpnum, '', new ext_setvar('__BLKVM', '')); 
    121126          $ext->add($contextname, $grpnum, '', new ext_goto('nextstep')); 
    122127 
     
    132137          $ext->add($contextname, $grpnum, '', new ext_gotoif('$["foo${RRNODEST}" != "foo"]', 'nodest')); 
    133138          $ext->add($contextname, $grpnum, '', new ext_setvar('__NODEST', '')); 
     139 
     140          $ext->add($contextname, $grpnum, '', new ext_dbdel('${BLKVM_OVERRIDE}')); 
    134141 
    135142          // where next? 
  • modules/branches/2.3/findmefollow/module.xml

    r3310 r3317  
    22  <rawname>findmefollow</rawname> 
    33  <name>Follow Me</name> 
    4   <version>2.4.5</version> 
     4  <version>2.4.6</version> 
    55  <changelog> 
     6    *2.2.6* Added BLKVM DB tree to fix inability to transfer a received call to another user, and make NODEST stuff work overall 
    67    *2.4.5* Modified NODEST stuff to improve some cases where it was still failing, and improve '#' transfer scenarios 
    78    *2.4.4* Add NODEST so that destination (often vm) is not taken if called from queue or ringgroup 
  • modules/branches/2.3/queues/functions.inc.php

    r3308 r3317  
    3636           
    3737          $ext->add('ext-queues', $exten, '', new ext_answer('')); 
     38 
     39          // block voicemail until phone is answered at which point a macro should be called on the answering 
     40          // line to clear this flag so that subsequent transfers can occur. 
     41          // 
     42          $ext->add('ext-queues', $exten, '', new ext_setvar('__BLKVM_OVERRIDE', 'BLKVM/${EXTEN}/${CHANNEL}')); 
     43          $ext->add('ext-queues', $exten, '', new ext_setvar('__BLKVM_BASE', '${EXTEN}')); 
     44          $ext->add('ext-queues', $exten, '', new ext_setvar('DB(${BLKVM_OVERRIDE})', 'TRUE')); 
     45          $ext->add('ext-queues', $exten, '', new ext_setvar('_DIAL_OPTIONS', '${DIAL_OPTIONS}M(auto-blkvm)')); 
    3846 
    3947          // Inform all the children NOT to send calls to destinations or voicemail 
     
    5563          $ext->add('ext-queues', $exten, '', new ext_queue($exten,$options,'',$agentannounce,$q['maxwait'])); 
    5664  
     65          $ext->add('ext-queues', $exten, '', new ext_dbdel('${BLKVM_OVERRIDE}')); 
    5766          // If we are here, disable the NODEST as we want things to resume as normal 
    5867          // 
  • modules/branches/2.3/queues/module.xml

    r3311 r3317  
    22  <rawname>queues</rawname> 
    33  <name>Queues</name> 
    4   <version>2.2.3</version> 
     4  <version>2.2.4</version> 
    55  <type>setup</type> 
    66  <category>Inbound Call Control</category> 
     
    99  </description> 
    1010  <changelog> 
     11    *2.2.4* Added BLKVM DB tree to fix inability to transfer a received call to another user, and make NODEST stuff work overall 
    1112    *2.2.3* Change _NODEST to __NODEST for some scenarios that require infinite inheritance 
    1213    *2.2.2* Disallow Queue 0 (#1487) 
  • modules/branches/2.3/ringgroups/functions.inc.php

    r3308 r3317  
    6060          $ext->add($contextname, $grpnum, '', new ext_macro('user-callerid')); 
    6161 
    62           // Remember if we should go to our own destination (in case we are a child) and then tell all our 
    63           // children not to go to their destinations 
     62          // block voicemail until phone is answered at which point a macro should be called on the answering 
     63          // line to clear this flag so that subsequent transfers can occur, if already set by a the caller 
     64          // then don't change. 
    6465          // 
    65           $ext->add($contextname, $grpnum, '', new ext_setvar('RRNODEST', '${NODEST}')); 
    66           $ext->add($contextname, $grpnum, '', new ext_gotoif('$["foo${RRNODEST}" != "foo"]', 'skipvmblk')); 
    67           $ext->add($contextname, $grpnum, '', new ext_setvar('RRNODEST', '${BLKVM}')); 
     66          $ext->add($contextname, $grpnum, '', new ext_gotoif('$["foo${BLKVM_OVERRIDE}" = "foo"]', 'skipdb')); 
     67          $ext->add($contextname, $grpnum, '', new ext_gotoif('$["${DB(${BLKVM_OVERRIDE})}" = "TRUE"]', 'skipov')); 
     68 
     69          $ext->add($contextname, $grpnum, 'skipdb', new ext_setvar('__NODEST', '')); 
     70          $ext->add($contextname, $grpnum, '', new ext_setvar('__BLKVM_OVERRIDE', 'BLKVM/${EXTEN}/${CHANNEL}')); 
     71          $ext->add($contextname, $grpnum, '', new ext_setvar('__BLKVM_BASE', '${EXTEN}')); 
     72          $ext->add($contextname, $grpnum, '', new ext_setvar('DB(${BLKVM_OVERRIDE})', 'TRUE')); 
     73 
     74          // Remember if NODEST was set later, but clear it in case the call is answered so that subsequent 
     75          // transfers work. 
     76          // 
     77          $ext->add($contextname, $grpnum, 'skipov', new ext_setvar('RRNODEST', '${NODEST}')); 
    6878          $ext->add($contextname, $grpnum, 'skipvmblk', new ext_setvar('__NODEST', '${EXTEN}')); 
    6979           
     
    102112            $ext->add($contextname, $grpnum, 'DIALGRP', new ext_macro('dial-confirm',"$grptime,$dialopts,$grplist,$grpnum")); 
    103113          } else { 
    104             $ext->add($contextname, $grpnum, '', new ext_setvar('RECALL', '${NODEST}')); 
    105             $ext->add($contextname, $grpnum, '', new ext_setvar('__BLKVM', '${EXTEN}')); 
    106             $ext->add($contextname, $grpnum, '', new ext_setvar('__NODEST', '')); 
    107114            $ext->add($contextname, $grpnum, 'DIALGRP', new ext_macro('dial',$grptime.",$dialopts,".$grplist)); 
    108             $ext->add($contextname, $grpnum, '', new ext_setvar('__NODEST', '${RECALL}')); 
    109             $ext->add($contextname, $grpnum, '', new ext_setvar('__BLKVM', '')); 
    110115          } 
    111116          $ext->add($contextname, $grpnum, '', new ext_setvar('RingGroupMethod','')); 
     
    116121          $ext->add($contextname, $grpnum, '', new ext_gotoif('$["foo${RRNODEST}" != "foo"]', 'nodest')); 
    117122          $ext->add($contextname, $grpnum, '', new ext_setvar('__NODEST', '')); 
     123 
     124          $ext->add($contextname, $grpnum, '', new ext_dbdel('${BLKVM_OVERRIDE}')); 
    118125 
    119126          // where next? 
  • modules/branches/2.3/ringgroups/module.xml

    r3309 r3317  
    22  <rawname>ringgroups</rawname> 
    33  <name>Ring Groups</name> 
    4   <version>2.2.9</version> 
     4  <version>2.2.10</version> 
    55  <type>setup</type> 
    66  <category>Inbound Call Control</category> 
     
    99  </description> 
    1010  <changelog> 
     11    *2.2.10* Added BLKVM DB tree to fix inability to transfer a received call to another user, and make NODEST stuff work overall 
    1112    *2.2.9* Modified NODEST stuff to improve some cases where it was still failing, and improve '#' transfer scenarios 
    1213    *2.2.8* Allow ringall-prim as well as ringall for strategies with confirmation (#1408)