Подскажите, как избавиться от следующего поведения:
есть контекст:
| Код: |
| exten => _.,1,NoOp(-- to ${EXTEN} -- -- ${CALLERID(num)} --) same => n,GoSub(sub_black_list,s,1(${EXTEN})) same => n,GoSub(sub_port_num,s,1(${EXTEN})) same => n,Playback(hello-world) same => n,Hangup() |
после выполнения Hangup() код выполняется еще раз с EXTEN = h
Если контент заменить на:
| Код: |
| exten => 444,1,NoOp(-- to ${EXTEN} -- -- ${CALLERID(num)} --) same => n,GoSub(sub_black_list,s,1(${EXTEN})) same => n,GoSub(sub_port_num,s,1(${EXTEN})) same => n,Playback(hello-world) same => n,Hangup() |
и позвонить на 444, в таком случае повтора вызова контента экстеном "h" я в логах не вижу.
Я прочитал что это нужно если хочется при завершении например воспроизвести что-то в линию. Но если я не хочу, зачем он его еще раз выполняет? Как избавится от этого при "exten => _."[/code]
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
| Wapo @ Пт Сен 23, 2016 14:14 писал(а): |
| exten => _X.,1 |
Огромное спасибо!
А можете пояснить почему так происходит с _. а с _X. такого нет?
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
| Wapo @ Пт Сен 23, 2016 15:16 писал(а): |
| Прочтите в http://asteriskforum.ru/viewtopic.php?t=3690 что есть X в шаблоне диалплана |
Спасибо, я прочитал:
Если не быть осторожным, сопоставления с групповым симво-
лом могут привести к тому, что диалплан будет делать совсем
не то, что предполагается (например, сопоставление с встроен-
ными добавочными номерами, такими как i или h). Универ-
сальное соответствие должно использоваться в шаблоне толь-
ко после того, как сопоставлено максимально возможное ко-
личество цифр. Например, следующий шаблон, наверное, не
должен применяться никогда:
_.
На самом деле Asterisk предупредит в случае попытки его при-
менения. Лучше по возможности используйте такой шаблон:
_X.
Но почему так работает? Почему он выполняет контент заного в случае "."? Какая логика?