2009-08-20 6 views
0

В моем диалплане у меня есть расширение для _XXXXXXX (для 7-значных чисел) и расширение для _X. , Теперь, если я наберу 7-значное число, _X. расширение выполняется вместо _XXXXXXX. Я хотел бы, чтобы часть _XXXXXXX была выполнена, если набрано 7-значное число. Любой способ исправить это?Dialplan question

Thank you.

+0

Вы смогли проверить ответ, который я разместил ниже? Если да, то можете ли вы дать отзыв? – paracycle

ответ

2

Я думаю, что объяснения в этом link помогут вам. В двух словах, похоже, что Asterisk переупорядочивает диалпланы и делает это по-другому для 1.2 и 1.4.

Насколько я понимаю, самое простое, самое портативное и наиболее чистое решение для решения этой проблемы - определить _XXXXXXX (7-значное число) в одном контексте и _X. в другом. Затем вам нужно включить второй контекст в первый.

Очень быстрый пример:

[seven-digit] 
include => match-all 
exten => h,1,Hangup 
exten => _XXXXXXX,1,Dial(Zap/1/${EXTEN}) 

[match-all] 
exten => _X.,1,Dial(Zap/2/${EXTEN}) 
1

_X. это довольно опасный предмет, который есть в вашем диалплане в целом, поскольку он в основном соответствует всем. Старайтесь не использовать его и вызывать более конкретные правила набора.

Возможно, вы захотите изменить 7-значную строку, которая будет _NXXXXXX, если вы набираете реальные телефонные номера таким образом.

Если у вас есть определенное количество расширений для других телефонов вашего местоположения, и вы используете Asterisk для набора номера в облаке телефонной системы, вы можете сделать что-то вроде этого (при условии, что ваш региональный код равен 321, а ваш местный расширения имеют три цифры и начинаются с 7):

exten => _1NXXNXXXXXX,1,Dial(SIP/trunk/${EXTEN}) 
exten => _NXXNXXXXXX,1,Dial(SIP/trunk/1${EXTEN}) 
exten => _NXXXXXX,1,Dial(SIP/trunk/1321${EXTEN}) 
;local extension(s) 
exten => _7XX,1,Dial(SIP/${EXTEN}) 
+1

Я думаю, что это «_.» расширение, которое является «опасным», потому что оно будет соответствовать «всем», включая специальные расширения, такие как t, h, i, s и т. д. _X. не будут соответствовать этим специальным расширениям. –