| 327 | | $exten = $item['directdid']; |
|---|
| 328 | | $ext->add($context, $exten, '', new ext_setvar('__FROM_DID','${EXTEN}')); |
|---|
| 329 | | // always set callerID name |
|---|
| 330 | | $ext->add($context, $exten, '', new ext_gotoif('$[ "${CALLERID(name)}" != "" ] ','cidok')); |
|---|
| 331 | | $ext->add($context, $exten, '', new ext_setvar('CALLERID(name)','${CALLERID(num)}')); |
|---|
| 332 | | $ext->add($context, $exten, 'cidok', new ext_noop('CallerID is ${CALLERID(all)}')); |
|---|
| 333 | | |
|---|
| 334 | | if (!empty($item['mohclass']) && trim($item['mohclass']) != 'default') { |
|---|
| 335 | | $ext->add($context, $exten, '', new ext_setmusiconhold($item['mohclass'])); |
|---|
| 336 | | $ext->add($context, $exten, '', new ext_setvar('__MOHCLASS',$item['mohclass'])); |
|---|
| 337 | | } |
|---|
| | 327 | $did_string = $item['directdid']; |
|---|
| | 328 | $did_list = explode(",",$did_string); |
|---|
| | 329 | foreach($did_list as $exten) |
|---|
| | 330 | { |
|---|
| | 331 | /* $exten = $item['directdid']; */ |
|---|
| | 332 | $ext->add($context, $exten, '', new ext_setvar('__FROM_DID','${EXTEN}')); |
|---|
| | 333 | // always set callerID name |
|---|
| | 334 | $ext->add($context, $exten, '', new ext_gotoif('$[ "${CALLERID(name)}" != "" ] ','cidok')); |
|---|
| | 335 | $ext->add($context, $exten, '', new ext_setvar('CALLERID(name)','${CALLERID(num)}')); |
|---|
| | 336 | $ext->add($context, $exten, 'cidok', new ext_noop('CallerID is ${CALLERID(all)}')); |
|---|
| | 337 | |
|---|
| | 338 | if (!empty($item['mohclass']) && trim($item['mohclass']) != 'default') { |
|---|
| | 339 | $ext->add($context, $exten, '', new ext_setmusiconhold($item['mohclass'])); |
|---|
| | 340 | $ext->add($context, $exten, '', new ext_setvar('__MOHCLASS',$item['mohclass'])); |
|---|
| | 341 | } |
|---|
| 339 | | if ($item['faxexten'] != "default") { |
|---|
| 340 | | $ext->add($context, $exten, '', new ext_setvar('FAX_RX',$item['faxexten'])); |
|---|
| 341 | | } |
|---|
| 342 | | if (!empty($item['faxemail'])) { |
|---|
| 343 | | $ext->add($context, $exten, '', new ext_setvar('FAX_RX_EMAIL',$item['faxemail'])); |
|---|
| 344 | | } |
|---|
| 345 | | if ($item['answer'] == "1") { |
|---|
| 346 | | $ext->add($context, $exten, '', new ext_answer('')); |
|---|
| 347 | | $ext->add($context, $exten, '', new ext_wait($item['wait'])); |
|---|
| 348 | | } |
|---|
| 349 | | if ($item['answer'] == "2") { // NVFaxDetect |
|---|
| 350 | | $ext->add($context, $exten, '', new ext_answer('')); |
|---|
| 351 | | $ext->add($context, $exten, '', new ext_playtones('ring')); |
|---|
| 352 | | $ext->add($context, $exten, '', new ext_nvfaxdetect($item['wait'])); |
|---|
| 353 | | } |
|---|
| 354 | | if ($item['privacyman'] == "1") { |
|---|
| 355 | | $ext->add($context, $exten, '', new ext_macro('privacy-mgr')); |
|---|
| 356 | | } |
|---|
| 357 | | |
|---|
| 358 | | |
|---|
| 359 | | if (!empty($item['didalert'])) { |
|---|
| 360 | | $ext->add($context, $exten, '', new ext_setvar("_ALERT_INFO", str_replace(';', '\;', $item['didalert']))); |
|---|
| | 343 | if ($item['faxexten'] != "default") { |
|---|
| | 344 | $ext->add($context, $exten, '', new ext_setvar('FAX_RX',$item['faxexten'])); |
|---|
| | 345 | } |
|---|
| | 346 | if (!empty($item['faxemail'])) { |
|---|
| | 347 | $ext->add($context, $exten, '', new ext_setvar('FAX_RX_EMAIL',$item['faxemail'])); |
|---|
| | 348 | } |
|---|
| | 349 | if ($item['answer'] == "1") { |
|---|
| | 350 | $ext->add($context, $exten, '', new ext_answer('')); |
|---|
| | 351 | $ext->add($context, $exten, '', new ext_wait($item['wait'])); |
|---|
| | 352 | } |
|---|
| | 353 | if ($item['answer'] == "2") { // NVFaxDetect |
|---|
| | 354 | $ext->add($context, $exten, '', new ext_answer('')); |
|---|
| | 355 | $ext->add($context, $exten, '', new ext_playtones('ring')); |
|---|
| | 356 | $ext->add($context, $exten, '', new ext_nvfaxdetect($item['wait'])); |
|---|
| | 357 | } |
|---|
| | 358 | if ($item['privacyman'] == "1") { |
|---|
| | 359 | $ext->add($context, $exten, '', new ext_macro('privacy-mgr')); |
|---|
| | 360 | } |
|---|
| | 361 | |
|---|
| | 362 | |
|---|
| | 363 | if (!empty($item['didalert'])) { |
|---|
| | 364 | $ext->add($context, $exten, '', new ext_setvar("_ALERT_INFO", str_replace(';', '\;', $item['didalert']))); |
|---|
| | 365 | } |
|---|
| | 366 | $goto_context = 'from-did-direct'; |
|---|
| | 367 | $goto_exten = $item['extension']; |
|---|
| | 368 | $goto_pri = 1; |
|---|
| | 369 | $ext->add($context, $exten, '', new ext_goto($goto_pri,$goto_exten,$goto_context)); |
|---|
| 1345 | | $existing=core_did_get($directdid,"",""); |
|---|
| 1346 | | $existing_directdid = empty($existing)?core_users_directdid_get($directdid):$existing; |
|---|
| 1347 | | if (!empty($existing) || !empty($existing_directdid)) { |
|---|
| 1348 | | if (!empty($existing)) { |
|---|
| 1349 | | echo "<script>javascript:alert('"._("A route with this DID already exists:")." ".$existing['extension']."')</script>"; |
|---|
| | 1351 | $did_list = explode(",",$directdid); |
|---|
| | 1352 | foreach($did_list as $test_did) |
|---|
| | 1353 | { |
|---|
| | 1354 | $existing=core_did_get($test_did,"",""); |
|---|
| | 1355 | $existing_directdid = empty($existing)?core_users_directdid_get($test_did):$existing; |
|---|
| | 1356 | if (!empty($existing) || !empty($existing_directdid)) { |
|---|
| | 1357 | if (!empty($existing)) { |
|---|
| | 1358 | echo "<script>javascript:alert('"._("A route with this DID already exists:")." ".$existing['extension']."')</script>"; |
|---|
| | 1359 | } else { |
|---|
| | 1360 | echo "<script>javascript:alert('"._("This DID is already associated with extension:")." ".$existing_directdid['extension']." (".$existing_directdid['name'].")')</script>"; |
|---|
| | 1361 | } |
|---|