Интеграция a .so с телефонией asterisk

#asterisk #telephony #shared-libraries

#asterisk #телефония #разделяемые библиотеки

Вопрос:

У меня есть приложение, запущенное на сервере телефонии Asterisk, которое изменяет голосовые пакеты входящего вызова. Для этого я выполнил следующие действия:
1. Я создал so приложение (закодированное в C ).
2. Загрузил приложение в asterisk.
3. Перезагрузил диалплан через dialplan reload
4. Функция зарегистрирована в asterisk по ее имени SampleFunc
5. Я вызываю функцию из диалплана следующим образом:
exten => 0,n,SampleFunc()

В идеале я хотел бы .so , чтобы функция функционировала до тех пор, пока включен вызов. Прямо сейчас он просто переходит в функцию, как только вызов соединяется, а затем завершается и продолжается с остальной частью диалплана. Мой вопрос:

  1. Как мне заставить его выполнять цикл во время выполнения вызова?
  2. Есть ли что-нибудь еще, что я, возможно, пропустил?

P.S: Это может быть несколько деталей. Прежде чем публиковать фактический код, пожалуйста, дайте мне знать, если потребуется более подробная информация.

Ответ №1:

Если вам нужно изменить звук во время разговора и диалплана, вы можете добиться этого, исправив используемый аудиокодек asterisk.