Вопрос по mysql, agi, asterisk, php, sip – Как интегрировать сервер Asterisk с внешней реляционной базой данных, такой как mysql?

2

Мои цели: Клиент (SIP-телефон, я использую телефон 3CX) набирает номер на сервере звездочек, затем соединяет звездочку с внешней реляционной базой данных (не находится в одном месте с сервером звездочек), и если база данных что-то отвечает, сервер звездочки воспроизводит голосовой файл предопределенный файл .gsm) клиенту ответа.

Что у меня уже есть: я установил AsteriskNow в VirtualBox как сервер звездочек, клиент использует программный телефон для соединения с сервером Asterisk по каналу SIP. Когда клиент набирает номер на сервере звездочки, сервер может выполнить план набора.

Мой вопрос: если я хочу, чтобы asterisk server установил соединение с внешней базой данных, например, MySQL. и получить доступ к данным запроса, мне нужноlet dialplan invoke AGI script сделать это? Если да, то с помощью создания сценария AGI в PHP гораздо проще достичь? Если нет, что нужно сделать для подключения MySQL? Используете ODBC?

Можно ли манипулировать данными на сервере звездочек, используя диалплан, не используя другой язык программирования? Но кажется, что у диалплана нет полной поддержки синтаксиса, как у других языков программирования?

Ваш Ответ

3   ответа
3

ты можешь использоватьODBC на звездочке. даже вы можете подключить звездочку кMicrosoft SQL Server. if you want to save log data on asterisk you can use CEL или жеCDR или вы можете получать события поAMI, но если вы хотите, чтобы звездочка выполняла специальную задачу (динамическую), лучше использоватьAGI, Я надеюсь, что это будет полезно.

1

Самый простой способ - использовать func_odbc (пользовательские функции sql через odbc) с диалпланом.

Кстати, diallplan - это полный язык, как и любой другой язык программирования. Все можно сделать только с помощью диалплана. Но не все вещи эффективны и требуют большого опыта.

1

биллинговой информации, но для вашей задачи - проигрывания различных вице-файлов, вы должны использовать AGI. AGI очень гибок, потому что вы можете использовать различные языки и библиотеки, которые вы хотите. Я использую Python для своих скриптов AGI, но другие используют C, Perl, Java. Вы можете найти примеры на этих языках в Asterisk wiki:http://www.voip-info.org/wiki/view/Asterisk+AGI

Конечно, из вашей программы AGI вы можете подключиться к базе данных или использовать HTTP / SOAP / REST для интеграции с другим программным обеспечением.

Похожие вопросы