VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Как считать значение параметра контекста?

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
BellLabs
Сообщения: 17
Зарегистрирован: 22 мар 2011, 13:28

Как считать значение параметра контекста?

Сообщение BellLabs »

При построении системы на основе realtime используется таблица sipusers (в extconfig.conf прописывается путь к ней). В ней много всяких полей (параметры контекста и их значения) и * при загрузке считывает куда-то информацию. Вопрос в том, можно ли её как-то выцепить в диалплане (узнать значение определенного параметра определенного контекста, например, permit)? Хранит ли * информацию о дополнительных полях? Задача в том, чтобы использовать эту таблицу для своих нужд, для записи ( через web) и считывания (из диалплана) дополнительных полей или полей по умолчанию без использования лишних запросов к БД.

PS
функция CHANNEL дает только параметры канала
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

Re: Как считать значение параметра контекста?

Сообщение ded »

При звонке значение контекста меняется, если он пробегает через несколько контекстов и/или макросов.
Можно конечно выцепливать на каждом шаге
NoOp(${CONTEXT}): Текущее имя контекста
gosha
Сообщения: 375
Зарегистрирован: 06 сен 2010, 17:41
Контактная информация:

Re: Как считать значение параметра контекста?

Сообщение gosha »

BellLabs писал(а):Задача в том, чтобы использовать эту таблицу для своих нужд, для записи ( через web) и считывания (из диалплана) дополнительных полей или полей по умолчанию без использования лишних запросов к БД.

PS
функция CHANNEL дает только параметры канала
некоторую часть можно вытащить из http://www.voip-info.org/wiki/view/Aste ... nc+sippeer
BellLabs
Сообщения: 17
Зарегистрирован: 22 мар 2011, 13:28

Re: Как считать значение параметра контекста?

Сообщение BellLabs »

ded писал(а):При звонке значение контекста меняется, если он пробегает через несколько контекстов и/или макросов.
Можно конечно выцепливать на каждом шаге
NoOp(${CONTEXT}): Текущее имя контекста
Я не про контекст, а про значения параметров контекста инициатора вызова (например, в sip.conf контекст [300], и из диалплана достать значение параметра permit)
switch писал(а):используйте func_odbc
вот лишних запросов хотелось бы избежать. Раз * парсит конф файлы и БД, то он где-то хранит эту иформацию и хотелось бы её доставать из этого места.. вот только какими инструментами? Вопрос не критичный, просто было бы удобно. Я так понимаю контекст - объект, а параметры контеста - свойства. Как добыть значения свойства такого-то объекта?

часть можно достать из CHANNEL, часть из SIPPEER (спасибо gosha)
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

Re: Как считать значение параметра контекста?

Сообщение ded »

BellLabs писал(а):
ded писал(а):Я не про контекст, а про значения параметров контекста инициатора вызова (например, в sip.conf контекст [300], и из диалплана достать значение параметра permit)
Во избежание путаницы: контекст в Астериске - это часть только диалплана, то есть extensions.conf
В других файлах, типа iax.conf, sip.conf, h323.conf можно иметь ввиду [300] [gateway] или [Jane], но это не будут контексты.
Например [300] в sip.conf - это параметры пира 300.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH