Диалплан вопрос - PullRequest
       25

Диалплан вопрос

0 голосов
/ 20 августа 2009

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

Спасибо.

Ответы [ 2 ]

2 голосов
/ 20 августа 2009

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

Насколько я вижу, самое простое, наиболее переносимое и наиболее чистое решение вашей проблемы - определить _XXXXXXX (семизначное число) в одном контексте и _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 голос
/ 16 сентября 2009

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

Вместо этого вы можете изменить семизначную строку на _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})
...