Страница 1 из 1

получить контекст SIP номера

Добавлено: 04 мар 2011, 08:28
Brave Heart
Доброго дня!

пишу диалплан с функцией переадресации звонка.
входящий вызов проверяет у набираемого абонента из DB номер для переадресации
и далее Goto(context,exten,priority) сюда мне нужен контекст набираемого номера, а не текущий контекст
как такой можно получить? мучился с ImportVar. но увы.
Вопрос как получить контекст от любого SIP/XXX ?

Re: получить контекст SIP номера

Добавлено: 04 мар 2011, 10:33
Brave Heart
1. ну чтобы вызов по переадресации использовал только те направления которые разрешены контекстом того кто переадресовал.
2. я вроде его и не демонстрировал.
3. пробовали и триксбокс. Решили его не использовать. (мнение коллективное не спрашивайте почему.)
(по намеку понятно, что там это реализовано. посмотрю туда.)

Re: получить контекст SIP номера

Добавлено: 04 мар 2011, 19:12
Samael28
А как переадресовываете? Телефоном или *?

Re: получить контекст SIP номера

Добавлено: 05 мар 2011, 08:07
Brave Heart
Реализую. как на обычных цифровых городских АТС
переадресация безусловная, по занятости, по неответу.

когда абонент заказывает сам услугу, то набирает *21*номер переадресации#
этот номер пишем во встроенную базу данных астериска.
при разборе входящих, читаем этот номер и пенаправляем вызов на него.

все работает, но хотелось перенаправлять сверяясь с контекстом переадресовавшего.

можно конечно использвать статический REALTIME и брать из базы что угодно,
но сам Астериск как-то хранит все данные своих юзверей, неужели
нельзя запросить как другую например глобальную переменную или переменную окружения.
чувствую, что можно, но как?

нашел такие:
${TRANSFER_CONTEXT} Context for transferred calls
${FORWARD_CONTEXT} Context for forwarded calls
но немного не то

Re: получить контекст SIP номера

Добавлено: 05 мар 2011, 11:04
Brave Heart
Все! нашел:
uc=${SIPPEER(201:context)}
проще некуда. А искал долго.
:)