Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒Voice(Asterisk\Cisco)⇒

⇐CISCO
⇐Microsoft
⇐Powershell
⇐Python
⇐SQL\T-SQL
⇐FreeBSD and Nix
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA

Выполнение переходов по условию GOTO


Выполнение переходов по условию    
Приложение GotoIf() GotoIf() использует особый синтаксис, который часто называют услов-
ным:
GotoIf(выражение?местоназначения1:местоназначения2)
Если выражение истинно (возвращает значение true), абонент направ-
ляется на местоназначения1. Если выражение ложно (возвращает значе-
ние false), абонент направляется по второму адресу.
exten => 345,1,Set(TEST=1)
exten => 345,n,GotoIf($[${TEST} = 1]?weasels:iguanas)
exten => 345,n(weasels),Playback(weasels-eaten-phonesys)
exten => 345,n,Hangup()
exten => 345,n(iguanas),Playback(office-iguanas)
exten => 345,n,Hangup()
за каждым приложением Playback() следует
приложение Hangup(). Это делается для того, чтобы при перехо-
де на метку weasels вызов заканчивался до того, как начинает-
ся воспроизведение звукового файла office-iguanas.
В качестве места назначения может быть задано следующее:
Метка приоритета в рамках того же добавочного номера, например
weasels.
Добавочный номер и метка приоритета в рамках того же контекста,
например 123,weasels.
Контекст, добавочный номер и метка приоритета, например
incoming,123,weasels
     
exten => 345,1,Set(TEST=1)
exten => 345,n,GotoIf($[${TEST} = 1]?weasels,1:iguanas,1)
exten => weasels,1,Playback(weasels-eaten-phonesys)
exten => weasels,n,Hangup()
exten => iguanas,1,Playback(office-iguanas)
exten => iguanas,n,Hangup()
теперь переход выполняется к добавочному номеру, приоритету, это НЕ метка. Это другой добавочный номер  
     
exten => 123,1,Set(COUNT=10)
exten => 123,n(start),GotoIf($[${COUNT} > 0]?:goodbye)
exten => 123,n,SayNumber(${COUNT})
exten => 123,n,Set(COUNT=$[${COUNT} - 1])
exten => 123,n,Goto(start)
exten => 123,n(goodbye),Hangup()
Рассмотрим другой пример выполнения переходов по условию. На этот
раз будем использовать оба приложения, и Goto(), и GotoIf(). Выпол-
ним счет в обратном направлении от 10 и повесим трубку
 
     
exten => 123,1,GotoIf($[${CALLERID(num)} = 8885551212]?reject:allow)
exten => 123,n(allow),Dial(Zap/4)
exten => 123,n,Hangup()
exten => 123,n(reject),Playback(abandon-all-hope)
exten => 123,n,Hangup()
В этом примере используется функция CALLERID, которая позволяет извлекать информацию о Caller ID (ID звонящего) входящего вызова.
Пусть для данного случая номер телефона жертвы будет 888-555-1212
 

Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru