AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Звонок из контекста в контекст

Newbies/FAQ Forum 5 сообщений -
#1

Добрый день!
Появилась задача на одном сервере астериска сделать несколько контекстов с одинаковыми пользователями, условно говоря в контексте [office1] есть абоненты 10, 11, 12, итд. и в [office2] есть абоненты 10, 11, 12 итд.
Контекст в контекст включать с помощью include не вариант - там разные входящие/исходящие наружу правила.
Отсюда вопрос: как прописать екстеншн, чтобы абонент 11 из [office1] мог позвонить абоненту 11 (и любому другому, конечно) из [office2], например с помощью префикса?

Пробовал делать так:
exten => _2XX,1,DIAL(SIP/${EXTEN:1}@office2) - для абонентов в [office1]
и
exten => _1XX,1,DIAL(SIP/${EXTEN:1}@office1) - для абонентов в [office2]

попытки иным путем переправить звонок в другой контекст также не увенчались успехом. Google на этот счет выдает невнятные темы.

Заранее спасибо!
#2

Вы чет путаете понятие контекста - это НАБОР ПРАВИЛ для вызова. Т.е. 11 на 1-ом офисе делает свои вызовы в своем контексте-наборе правил. Плюс всегда можно так: exten => _1XX/11,1,Dial(Local/${EXTEN:1}@office2) но использование local крайне нежелательно.
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#3

Спасибо! помогла конструкция
exten => _1XX,1,Dial(Local/${EXTEN:1}@office2)
но зачем /11 нужно, я не понял =)))
и еще вопрос вдогонку: почему нежелательно использовать local?
#4

Kuzzz @ Пн Июн 24, 2013 18:04 писал(а):
Спасибо! помогла конструкция
exten => _1XX,1,Dial(Local/${EXTEN:1}@office2)
но зачем /11 нужно, я не понял =)))


Если твой CALLERID(num) == 11 то этот экстеншен выполнится (книжку почитай)

Kuzzz @ Пн Июн 24, 2013 18:04 писал(а):

и еще вопрос вдогонку: почему нежелательно использовать local?

создаются лишние каналы, в CDR много лишнего пишется


можно так:

Код:
[office1]
exten => _1X,1,Dial(SIP/${EXTEN})

exten => _1XX,1,Goto(${EXTEN:1},1)
exten => _2XX,1,Goto(office2,${EXTEN:1},1)

[office2]
exten => _1X,1,Dial(SIP/${EXTEN})

exten => _1XX,1,Goto(office1,${EXTEN:1},1)
exten => _2XX,1,Goto(${EXTEN:1},1)

_________________
Jabber конференция
сервер: conference.jabber.ru
комната: asterisk
#5

Понял, спасибо!