ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

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

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

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

Сообщение BellLabs » 07 апр 2011, 10:57

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

PS
функция CHANNEL дает только параметры канала
BellLabs
 
Сообщений: 17
Зарегистрирован: 22 мар 2011, 14:28

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

Сообщение ded » 07 апр 2011, 13:50

При звонке значение контекста меняется, если он пробегает через несколько контекстов и/или макросов.
Можно конечно выцепливать на каждом шаге
NoOp(${CONTEXT}): Текущее имя контекста
ded
 
Сообщений: 15820
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение gosha » 07 апр 2011, 14:14

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

PS
функция CHANNEL дает только параметры канала


некоторую часть можно вытащить из http://www.voip-info.org/wiki/view/Aste ... nc+sippeer
gosha
 
Сообщений: 371
Зарегистрирован: 06 сен 2010, 17:41

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

Сообщение BellLabs » 08 апр 2011, 10:21

ded писал(а):При звонке значение контекста меняется, если он пробегает через несколько контекстов и/или макросов.
Можно конечно выцепливать на каждом шаге
NoOp(${CONTEXT}): Текущее имя контекста


Я не про контекст, а про значения параметров контекста инициатора вызова (например, в sip.conf контекст [300], и из диалплана достать значение параметра permit)

switch писал(а):используйте func_odbc


вот лишних запросов хотелось бы избежать. Раз * парсит конф файлы и БД, то он где-то хранит эту иформацию и хотелось бы её доставать из этого места.. вот только какими инструментами? Вопрос не критичный, просто было бы удобно. Я так понимаю контекст - объект, а параметры контеста - свойства. Как добыть значения свойства такого-то объекта?

часть можно достать из CHANNEL, часть из SIPPEER (спасибо gosha)
BellLabs
 
Сообщений: 17
Зарегистрирован: 22 мар 2011, 14:28

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

Сообщение ded » 08 апр 2011, 10:42

BellLabs писал(а):
ded писал(а):Я не про контекст, а про значения параметров контекста инициатора вызова (например, в sip.conf контекст [300], и из диалплана достать значение параметра permit)
Во избежание путаницы: контекст в Астериске - это часть только диалплана, то есть extensions.conf
В других файлах, типа iax.conf, sip.conf, h323.conf можно иметь ввиду [300] [gateway] или [Jane], но это не будут контексты.
Например [300] в sip.conf - это параметры пира 300.
ded
 
Сообщений: 15820
Зарегистрирован: 26 авг 2010, 19:00


Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH