Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

проверка trunk ${CALLERID(num)}

0

привет.

отдал абоненту транком нумерацию 2334xx kurks-agro

нужно проверить АОН клиента kursk-agro при звонках в город (отредактировано)

extenesions при выходе в город

[pstn-outbound-bez-8]

exten => _[0-79].,1,Dial(SIP/${EXTEN}@192.168.4.1,120) ; IP address of Cisco gateway

exten => _[0-79].,2,Hangup()

вот extensions при звонках из города к абоненту

exten => _2334XX,1,Dial(SIP/kursk-agro/${EXTEN},120,r)

p.s.
потестил функцию на одном номере gotoif($["${CALLERID(num)}" != "233400"]?reject:)

а как привязать к транку не пойму

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

спросил 2012-06-28 18:10:14 +0400

voznyaa Gravatar voznyaa
1 6 4 5

обновил 2012-06-29 10:48:45 +0400

Comments

Еще бы понять , что это за набор слов. Особенно улыбнуло "проверить АОН транк-клиента". Что это , куда это?

zzuz ( 2012-06-28 19:39:18 +0400 )редактировать

3 Ответа

1

а можно проверить входит ли номер в заданный диапазон, если нет то подставить, примерно так

exten => _[0-79].,1,GotoIf($["${CALLERID(num):0:4}" = "2334"]?3)
exten => _[0-79].,2,Set(CALLERID(num)=233400)
exten => _[0-79].,3,Dial(SIP/gateway/${EXTEN})
ссылка удалить спам редактировать

ответил 2012-06-29 08:27:04 +0400

renat Gravatar renat flag of Russian Federation
51 9 1 8
http://www.galiev.net/

обновил 2012-06-29 09:10:22 +0400

Comments

если конечно я правильно понял, что ТС отдал нумерацию с 233400 по 233499

renat ( 2012-07-02 19:12:51 +0400 )редактировать
0

Банально забивать Set(CALLERID(num)=233400) перед Dial при исходящих звонках и свой собственный контекст в даилплане для клиента думаю - правильное решение..

ссылка удалить спам редактировать

ответил 2012-06-28 23:46:43 +0400

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2886 11 9 40
http://mh.otx.ru/

Comments

а лучше даже это на Киске делать.

Zavr2008 ( 2012-06-28 23:48:09 +0400 )редактировать

тогда неверно будет определяться АОН, ну и в билинге будет неверная информация о звонящих.

voznyaa ( 2012-10-19 11:24:06 +0400 )редактировать
0

Если я правильно Ваш текст понял, то Вам нужно идентифицировать с какого номера пытается совершить звонок Ваш абонент которому

отдал абоненту транком нумерацию 2334xx kurks-agro

Верно?

Тогда нужно просто ставить эту проверку в диалплане перед тем как пускать звонок дальше. Примерно так:

exten => _[0-79].,1,GotoIf($["${CALLERID(num)}" != "233400"]?4) 
exten => _[0-79].,2,Dial(SIP/gateway/${EXTEN}) 
exten => _[0-79].,3,Hangup() 
exten => _[0-79].,4,Hangup(52)
ссылка удалить спам редактировать

ответил 2012-07-02 18:50:59 +0400

artefackt Gravatar artefackt flag of Ukraine
1 3 5

обновил 2012-07-02 18:53:26 +0400

Comments

в ответах не надо задавать вопросы - пишите в камент нужного ответа =)

Zavr2008 ( 2012-07-02 20:44:48 +0400 )редактировать

2artefakt А что такое Hangup(52) ?

сделал вот такой dialplan для trunk клиента с выделенной нумерацией 233400-233426

exten [pstn-incoming]

include => kurskagrophone

[kurskagrolocal]

include => kurskagrophone

include => lan-phones

include => pstn-outbound-kursk

[kurskagrophone]

exten => _2334[0-1]X,1,Dial(SIP/kursk-agro/${EXTEN},120,r)

exten => _23342[0-6],2,Dial(SIP/kursk-agro/${EXTEN},120,r)

exten => _2334[0-1]X,3,Hangup()

exten => _23342[0-6],4,Hangup()

[pstn-outbound-kursk]

exten => _X.,1,GotoIf($["${CALLERID(num):0:5}" = "23340"]?5:6)

exten => _X.,2,GotoIf($["${CALLERID(num):0:5}" = "23341"]?5:6)

exten => _X.,3,GotoIf($["${CALLERID(num):0:5}" = "23342"]?4:6)

exten => _X.,4,GotoIf($["${CALLERID(num):5:1}" = "[0-6]"]?5:6)

exten => _X.,5,Dial(SIP/${EXTEN}@192.168.4.1,120)

exten => _X.,6,Hangup()

sip

[kursk-agro]

insecure = port,invite

host = 172.28.64.2 ; IP address of gateway

context = kurskagrolocal

voznyaa ( 2012-10-19 09:43:11 +0400 )редактировать
1

Hangup(52) это код причины окончания связи. 52 код обозначает что "исходящие звонки запрещены". (http://voip.rus.net/tiki-index.php?page=Asterisk+variable+hangupcause) Насчет диалплана.

Звонки на номера _2334[0-1]X пойдут по указаному правилу. Звонки на номера _23342[0-6] не пойдут по указаному правилу, так как для них не существует первого приоритета. Нужно писать например так:

exten => _2334[0-1]X,1,Dial(SIP/kursk-agro/${EXTEN},120,r)

exten => _2334[0-1]X,2,Hangup()

exten => _23342[0-6],1,Dial(SIP/kursk-agro/${EXTEN},120,r)

exten => _23342[0-6],2,Hangup()

в исходящих будет работать только первое правило, т.к. если ${CALLERID(num):0:5} не будет равен 23340 то звонок уйдет на 6-й приоритет.

Надо написать первые два без ":6":

(exten => _X.,1,GotoIf($["${CALLERID(num):0:5}" = "23340"]?5))

artefackt ( 2012-11-05 00:11:11 +0400 )редактировать
  • да все верно звонки на _23342[0-6] не пошли , сделал как у вас указано (но уже давно )

    [kurskagrophone] exten => _23342[0-6],1,Dial(SIP/kursk-agro/${EXTEN},120,r) exten => _23342[0-6],2,Hangup()

    exten => _2334[0-1]X,1,Dial(SIP/kursk-agro/${EXTEN},120,r) exten => _2334[0-1]X,2,Hangup()

    (правда не понял почему нельзя написать приоритетами 1,2,3,4 )

  • вместо hangup(52) сделал exten => playback(pbx-invalid)

  • по поводу обработки :0:5 неверно понял функционал, уже переписал

voznyaa ( 2012-11-06 13:11:06 +0400 )редактировать

_23342[0-6] и _23342[0-6] это маски для екстеншинов, после которых указывается приоритет. Приоритет, это последовательность обработки екстеншинов. Т.е. если звонок пришел на номер кторый указан в маске, то сначала будет выполнятся то что написано для этого екстеншина в приоритете 1, затем в следующем, который больше чем 1. Если для екстеншина (маски) не указано правило с приоритетом "1", то такого екстеншина как-бы и нет вовсе. Для наглядности можете прописать екстеншин без первого приоритета и посмотреть в CLI есть ли этот екстеншин.

вместо hangup(52) сделал exten => playback(pbx-invalid)

если так сделали, то для абонента, который пытается позвонить, звонок будет считаться как "отвечен", т.к. Playback делает Answer. Это так, к сведению.

artefackt ( 2012-11-08 19:21:17 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2012-06-28 18:10:14 +0400

Просмотрен: 5,458 раз

Обновлен: Jul 02 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.