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

Разруливать исходя из номера звонящего

0

Привет,

Вообщем мне нужно что бы если звонок идет с Украины России он поступал на один сипномер а если из других стран то на другой. Куда копать, как разруливать логику исходя из номера звонящего?

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

спросил 2011-08-13 19:03:27 +0400

godlike Gravatar godlike flag of Ukraine
814 91 20 54

1 Ответ

3

есть два варианта. один такой

[incoming]
exten => _X.,1,GotoIf($[ "${CALLERID(num):0:3}" == "380" ]?ukraine,${EXTEN},1)

другой такой

[incoming]
exten => _X./_380.,1,Goto(ukraine,${EXTEN},1)
incude =>incoming_other
[incoming_other]
exten => _X.,1,Noop(tut ne ukraina)

правильней второй, но мне больше нравиться короткий.

первый вариант для "масщтабируемости"

[inbound]
exten => _X.,1,Set(dest=${EXTEN})
exten => _X.,2,Goto(cidselect,${CALLERID(num)},1)
[cidselect]
exten => _380.,1,Dial(sip/ukrgate/${dest})
exten => _7.,1,Dial(sip/rusgate/${dest})
ссылка удалить спам редактировать

ответил 2011-08-13 20:08:45 +0400

meral Gravatar meral flag of Ukraine
21228 23 18 169
http://pro-sip.net/

обновил 2011-08-14 07:30:10 +0400

Comments

Спасибо, идею понял, попробую godlike ( 2011-08-13 21:38:17 +0400 )редактировать
Короткий потом может вылезти боком ) При желании масштабироваться ) samael28 ( 2011-08-13 23:14:46 +0400 )редактировать
это потому, что у вас общего уровня в програмировании не хвататет. добавил третий вариант. который суть короткий масщтабируемый. meral ( 2011-08-14 07:27:18 +0400 )редактировать
во 3 вариант самый блатной) стянул себе на заметку=) DJs3000 ( 2011-08-14 10:22:26 +0400 )редактировать
Да, красиво, согласен. Спасибо. samael28 ( 2011-08-14 11:16:55 +0400 )редактировать
да это обычная практика. прочитайте дефаултный extensions.conf там покруче примеры есть. meral ( 2011-08-14 14:19:19 +0400 )редактировать
Не спорю. Я просто больше в жизни эмбед-программированием занимался. Там за Goto бьют ) Можно назвать неким неприятием. samael28 ( 2011-08-14 21:42:44 +0400 )редактировать
а астериск же не программируется. рассматривайте его dialplan как машину переходов или детерминированный конечный автомат, будет наааамного все быстрее писаться. meral ( 2011-08-15 12:12:35 +0400 )редактировать
Это надо еще проникнуться новой методой ) Но я попробую, спасибо ) Если расскажете и подскажете - с меня пиво ) Все-таки в одном городе живем. samael28 ( 2011-08-15 16:07:48 +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)!
[скрыть предварительный просмотр]

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

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

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

Статистика

Задан: 2011-08-13 19:03:27 +0400

Просмотрен: 602 раз

Обновлен: Aug 14 '11

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