Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

AMI перестает работать [закрыт]

0

Asterisk 11.9.0 Раз в минуту вызываю AMI через php скрипт для постановки некоторых звонков. Периодически AMI перестает принимать комманды и попросту молчит. Помогает только полный перезапуск астериска.

Вот когда все ок

root@call:~# telnet localhost 5038
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Asterisk Call Manager/1.3

Вот так когда перестает работать.

root@call:~# telnet localhost 5038
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Такая же ситуация на 11.6.0, 13.2.0, 13.5.0 Помогите, пожалуйста, разобраться.

upd: скрипт за собой соединения закрывает. Используется php библиотека PAMI

ПРОБЛЕМА РЕШЕНА: пример upstart конфига в астериске - без установки лимитов файловых дескрипторов. По умолчанию ставится soft 1024 и hard 2048. При определенном кол-ве звонков в очереди этих лимитов не хватает, и ami перестает корректно работать... Решение - явно прописать в конфиге upstart лимиты для файловых дескрипторов

description "Asterisk PBX"
version     "1.8"

start on runlevel 2
start on runlevel 3
start on runlevel 4
start on runlevel 5

stop on runlevel 0
stop on runlevel 1
stop on runlevel 6

#!!!  Установка ограничений файловых дескрипторов !!!
limit nofile 65536 65536

pre-start script
  # Since Ubuntu clears /var/run on reboot, create this before we try to start
  mkdir -p /var/run/asterisk
end script

console output
respawn
exec /usr/sbin/asterisk -vvvg -f

post-stop script
  # Might as well clean up after ourselves, too.
  rm -rf /var/run/asterisk
end script
удалить переоткрыть спам изменить тег редактировать

спросил 2015-09-10 12:12:38 +0400

astnewbie Gravatar astnewbie
1 3 2

обновил 2015-09-19 16:14:43 +0400

Comments

У меня тоже такое бывало. Но лечилось только перезапуском сервера целиком.

switch ( 2015-09-14 12:27:36 +0400 )редактировать

1 Ответ

1

А скрипт соединение закрывает за собой?

ссылка удалить спам редактировать

ответил 2015-09-10 17:32:04 +0400

tesak89 Gravatar tesak89 flag of Russian Federation
422 25 3 16

Comments

Библиотека -- дело десятое. Если деструктор в классе не вызывать явно, может и не закрыть соединение.

ps aux | grep php не вывалит кучу висящих скриптов?

А как насчет netstat -tap | grep 5038?

tesak89 ( 2015-09-14 19:27:49 +0400 )редактировать

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2015-09-10 12:12:38 +0400

Просмотрен: 1,674 раз

Обновлен: Sep 19 '15

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.