LINUX.ORG.RU — Русская информация об ОС Linux

[#]  

asterisk. Separate sip provider in/out contexts

Всем привет.

# grep -iA1 'tip 2' sip.conf
; Tip 2: Use separate type=peer and type=user sections for SIP providers
; (instead of type=friend) if you have calls in both directions

Кому-нибудь удавалось это реализовать в более-менее вменяемом виде?
Единственно, что пока нагуглилось после того, как выяснилось, что просто так это не поднимается:
http://asterisk-support.ru/forum/topics/1856/?navBatchStart=1775

Выглядит очень неприглядно :-(
Астериск из двух пиров выбирает автоматом второй в sip.conf... Только в определенном порядке описания двух пиров оно работает с помощью уличной магии и парсера конфигов астериска. Такая географическая зависимость меня вводит в глубокую фрустрацию. Где уж там до _рабочего_ примера с одновременными type=user и type=peer. Чуваку, который на osdir спросил про разделение контекстов, предложили в итоге type=friend o_O





Valmont *** (04.02.2009 0:44:17)
Juick

[#]  
dimon555

Re: asterisk. Separate sip provider in/out contexts

ну а чем тебя type=friend то не устраивает?

dial(sip/добавочный@другойконтекст)
и все дела как бы

что нужно-то?

dimon555 **** (04.02.2009 1:01:06)
[#] Ответ на: Re: asterisk. Separate sip provider in/out contexts от dimon555 04.02.2009 1:01:06  

Re: asterisk. Separate sip provider in/out contexts

Дела-то вроде как-бы и все, пока используется какая-то стандартная конфигурация. Видимость екстеншенов ограничивается контекстом, указанным в sip.conf. Ты туда-то не пихаешь внутренние екстеншены? Теперь представим, что звонит клиент. Его запрос трансферится на мобильный сотрудника. Через тот самый Dial.... А теперь сотруднику нужно сделать трансфер звонка на какой-то внутренний экстеншен. Что ему на это астериск скажет, который будет смотреть context из sip.conf? Куда он его пошлет?

Единстсвенное, что я пока вижу из альтернатив разделения контекстов -- использовать какой-нить экстеншн типа

451/921XXXXXXX,1,1,Dial... Но это как крайний случай, если не удастья реализовать нормально то, что в документации заявлено как релизуемое.

Valmont *** (04.02.2009 1:12:42)
[#] Ответ на: Re: asterisk. Separate sip provider in/out contexts от Valmont 04.02.2009 1:12:42  

Re: asterisk. Separate sip provider in/out contexts

Все блин злые дядьки без поддержки iax...

Valmont *** (04.02.2009 1:14:49)
[#] Ответ на: Re: asterisk. Separate sip provider in/out contexts от Valmont 04.02.2009 1:14:49  

Re: asterisk. Separate sip provider in/out contexts

Если кто-то еще столкнется с этим. Попробуйте TRANSFER_CONTEXT.

Valmont *** (04.02.2009 10:15:01)
[#] Ответ на: Re: asterisk. Separate sip provider in/out contexts от Valmont 04.02.2009 10:15:01  

Re^2: asterisk. Separate sip provider in/out contexts

> Если кто-то еще столкнется с этим. Попробуйте TRANSFER_CONTEXT.

Дайте уж пример нормальный ;)

APM * (04.02.2009 15:20:35)
[#] Ответ на: Re^2: asterisk. Separate sip provider in/out contexts от APM 04.02.2009 15:20:35  

Re: Re^2: asterisk. Separate sip provider in/out contexts

> Дайте уж пример нормальный ;)

может автор поста придерживается идеологии "помучился сам, дай помучиться другим"? ;-)

jellyfish * (04.02.2009 20:04:27)
[#] Ответ на: Re: asterisk. Separate sip provider in/out contexts от Valmont 04.02.2009 1:12:42  
dimon555

Re: asterisk. Separate sip provider in/out contexts

>Видимость екстеншенов ограничивается контекстом, указанным в sip.conf.

можно позвонить из любого контекста в любой, смотри описание приложения Dial

если контекст не задан используется текущий

dimon555 **** (04.02.2009 21:56:40)
[#] Ответ на: Re: asterisk. Separate sip provider in/out contexts от dimon555 04.02.2009 21:56:40  
dimon555

Re: asterisk. Separate sip provider in/out contexts

есть ещё приложение goto

dimon555 **** (04.02.2009 21:57:38)
[#] Ответ на: Re: Re^2: asterisk. Separate sip provider in/out contexts от jellyfish 04.02.2009 20:04:27  

Re: Re^2: asterisk. Separate sip provider in/out contexts

Ну-ну :-) Я дал необходимый и достаточный ответ на вопрос, который у меня самого возник. Но для ленивых пример:

exten => 7XXXXXXXXXX,1,Set(TRANSFER_CONTEXT=test)
exten => 7XXXXXXXXXX,n,Set(__DYNAMIC_FEATURES=automon#blindxfer#atxfer#parkcall)
exten => 7XXXXXXXXXX,n,NoOp(CONTEXT=${CONTEXT},TRANSFER_CONTEXT=${TRANSFER_CONTEXT},FEAT
URES=${DYNAMIC_FEATURES}
exten => 7XXXXXXXXXX,n,Dial(SIP/sipnet/7XXXXXXXXXX,,TtKkWwS(1800))
exten => 7XXXXXXXXXX,n,Hangup()

7XXXXXXXXXX - должен быть реальный номер, но проще оформить макросом.

Valmont *** (05.02.2009 22:12:26)
[#] Ответ на: Re: asterisk. Separate sip provider in/out contexts от dimon555 04.02.2009 21:56:40  

Re: asterisk. Separate sip provider in/out contexts

Блин. Еще раз. Речь идет о _трансфере_. Ну какой тут Dial с Goto? Если у вы за спиной, конечно, не прячете каких-то специфических хуков на трансфер через что-то.

Valmont *** (05.02.2009 22:14:52)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru