| 701 | | if (strstr($version, 'BRI')) |
|---|
| 702 | | $ext->add('app-pickup', "_$fc_pickup.", '', new ext_dpickup('${EXTEN:'.$fclen.'}')); |
|---|
| 703 | | else |
|---|
| 704 | | $ext->add('app-pickup', "_$fc_pickup.", '', new ext_pickup('${EXTEN:'.$fclen.'}')); |
|---|
| | 709 | $ext_pickup = (strstr($version, 'BRI')) ? 'ext_dpickup' : 'ext_pickup'; |
|---|
| | 710 | $ext->add('app-pickup', "_$fc_pickup.", '', new $ext_pickup('${EXTEN:'.$fclen.'}')); |
|---|
| | 711 | $ext->add('app-pickup', "_$fc_pickup.", '', new $ext_pickup('${EXTEN:'.$fclen.'}@from-internal')); |
|---|
| | 712 | $ext->add('app-pickup', "_$fc_pickup.", '', new $ext_pickup('${EXTEN:'.$fclen.'}@from-did-direct')); |
|---|
| | 713 | // In order to do call pickup in ringgroups, we will need to try the ringgoup number |
|---|
| | 714 | // when doing call pickup for that ringgoup so we must see who is a member of what ringgroup |
|---|
| | 715 | // and then generate the dialplan |
|---|
| | 716 | // |
|---|
| | 717 | if (function_exists('ringgroups_list')) { |
|---|
| | 718 | $rg_members = array(); |
|---|
| | 719 | $rg_list = ringgroups_list(true); |
|---|
| | 720 | foreach ($rg_list as $item) { |
|---|
| | 721 | $thisgrp = ringgroups_get($item['grpnum']); |
|---|
| | 722 | $grpliststr = $thisgrp['grplist']; |
|---|
| | 723 | $grplist = explode("-", $grpliststr); |
|---|
| | 724 | foreach ($grplist as $exten) { |
|---|
| | 725 | if (strpos($exten,"#") === false) { |
|---|
| | 726 | $rg_members[$exten][] = $item['grpnum']; |
|---|
| | 727 | } |
|---|
| | 728 | } |
|---|
| | 729 | } |
|---|
| | 730 | // Now we have a hash of extensions and what ringgoups they are members of |
|---|
| | 731 | // so we need to generate the callpickup dialplan for these specific extensions |
|---|
| | 732 | // to try the ringgoup. |
|---|
| | 733 | foreach ($rg_members as $exten => $grps) { |
|---|
| | 734 | $ext->add('app-pickup', "$fc_pickup".$exten, '', new $ext_pickup($exten)); |
|---|
| | 735 | $ext->add('app-pickup', "$fc_pickup".$exten, '', new $ext_pickup($exten.'@from-internal')); |
|---|
| | 736 | $ext->add('app-pickup', "$fc_pickup".$exten, '', new $ext_pickup($exten.'@from-did-direct')); |
|---|
| | 737 | foreach ($grps as $grp) { |
|---|
| | 738 | $ext->add('app-pickup', "$fc_pickup".$exten, '', new $ext_pickup($grp.'@from-internal')); |
|---|
| | 739 | } |
|---|
| | 740 | } |
|---|
| | 741 | } |
|---|
| | 742 | $ext->add('app-pickup', "$fc_pickup".$exten, '', new ext_hangup('')); |
|---|