Как в Asterisk настроить перевод вызова с одного номера на другой

Как настроить переадресацию вызова в Asterisk

Иногда в Asterisk нужно переадресовать вызов с одного номера пира на другой. Диалплан ниже приводит пример простого трансфера Asterisk когда вызовы с пира A переводятся пиру Б без учета состояния регистрации номера Б. И трансфера чуть сложнее, когда прежде чем направить вызов для переадресации проверяется регистрация номера Б в Asterisk.

 

;Пример трансфера для тестового номера
;Безусловный перевод вызова для клиента
;exten => 2221992,1,Set(CALLERID(all)=2221992)
;exten => 2221992,n,Dial(SIP/SMG2/87659036120)

[transfer-full]
;Transfer
exten => 2221526,1,Set(CALLERID(all)=2221526)
exten => 2221526,n,Dial(SIP/SMG2/89237430812)
exten => 2221526,n,Hangup()

;Диалплан трансфер с проверкой статуса канала для mobile sip
[transfer]
;Пример трансфера для тестового номера с проверкой готовности sip peers к приему вызова
exten => 2222020,1,Macro(transfer,9999999)

;Start test sip mobile
exten => 580,1,Macro(transfer,580,1)
exten => 581,1,Macro(transfer,581,${EXTEN})
exten => 582,1,Macro(transfer,582,1)
exten => 583,1,Macro(transfer,583,1)
exten => 584,1,Macro(transfer,584,1)
exten => 585,1,Macro(transfer,585,${EXTEN})
exten => 586,1,Macro(transfer,586,1)
exten => 587,1,Macro(transfer,587,1)
exten => 588,1,Macro(transfer,588,1)
exten => 589,1,Macro(transfer,589,1)

[macro-transfer]
exten => s,1,Set(per1="/var/lib/asterisk/sounds/ru/followme")
;exten => s,n,Set(CALLERID(all)=${ARG1})
exten => s,n,Dial(SIP/${ARG1},,Tt)
exten => s,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?forward)
exten => s,n,GotoIf($["${DIALSTATUS}" = "CANCEL"]?forward)
exten => s,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?forward)
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?forward)
exten => s,n(forward),Wait(2)
exten => s,n,GotoIf($["${ARG2}" > "1"]?voice:sorry)
exten => s,n(voice),VoiceMail(${ARG2}@default,u)
exten => s,n,Wait(2)
exten => s,n,Hangup()
exten => s,n(sorry),Playback(${per1}/sorry)
exten => s,n,Wait(2)
exten => s,n,Hangup()

В voicemail.conf
[default]
585 => 585,TechnicalSupport,motor"@"yandex.ru,,attach=yes|delete=yes
 

Поделиться:

Добавить комментарий

1 + = 5
Решите простой математический пример. Например для "два плюс четыре =?" введите "6".