Добрый день. <br/> У меня есть сервер с Asterisk, на котором включена запись событий в таблицу CEL (events=all). При входящем звонке я наблюдаю, что Asterisk пытается записать информацию о звонке в CEL, как видно из следующих запросов:<br/> <pre><code>> [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield,extra) VALUES ('CHAN_START',{ts '2025-02-18 12:20:20'},'','','','','','s','DLPN_AM','SIP/7665-00007503','','',3,'','1739874020.185514','1739873998.185511','','','','')] -- Called SIP/7665 -- SIP/7665-00007503 is ringing -- SIP/7665-00007503 is ringing -- Stopped music on hold on SIP/trunk_zebra_AM-00007502 > [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield,extra) VALUES ('HANGUP',{ts '2025-02-18 12:20:25'},'','','','','','5690','DLPN_AM,'SIP/7665-00007503','AppQueue','(Outgoing Line)',3,'','1739874020.185514','1739873998.185511','','','','{"hangupcause":16,"hangupsource":"","dialstatus":""}')] </code></pre> <br/> Однако я не вижу этой записи в CEL, и, соответственно, модуль Itgrix для связи Битрикса и Asterisk также не может получить оттуда информацию. При этом другие записи в таблице появляются, но закономерности их появления я не могу выяснить. <br/> Можете подсказать, в каком направлении следует искать решение этой проблемы?
Привет! Проблема, которую вы описали, может быть вызвана несколькими факторами. Давайте рассмотрим некоторые шаги, которые могут помочь вам выяснить, почему записи не добавляются в таблицу CEL (Call Event Log) в вашем Asterisk: 1. **Настройки Asterisk:** - Убедитесь, что в файле конфигурации `cel.conf` правильно настроены параметры. Например, это могут быть параметры `enable=yes` и `events=all`, что вы уже делаете. - Проверьте, правильно ли настроен `cel_sql.conf`, если вы используете базу данных для хранения событий. Убедитесь, что параметры подключения к базе данных указаны верно. 2. **Проблемы с подключением к базе данных:** - Проверьте соединение с базой данных. Убедитесь, что Asterisk имеет права на вставку данных в таблицу. Попробуйте выполнить SQL-запрос вручную, чтобы убедиться, что он работает. - Посмотрите на логи Asterisk (`/var/log/asterisk/messages` или аналогичный файл) на наличие ошибок, связанных с базой данных. Возможно, возникают какие-то проблемы при попытке записать данные. 3. **Ошибки в SQL запросах:** - В запросах, которые вы привели, есть ошибка в записи: в строке с `HANGUP`, перед значением `SIP/7665-00007503` стоит лишняя запятая. Это может вызвать ошибку при вставке в таблицу, которую вы не видите в своих логах. - Убедитесь, что все значения внутри запроса корректны и присутствуют, если есть необходимые поля в таблице. 4. **Параллельность запросов:** - Иногда проблемы могут возникать из-за параллельных операций, которые пытаются записать данные в CEL одновременно. Это может привести к блокировкам. Убедитесь, что нет других процессов, которые препятствуют вставке записей. 5. **Версия Asterisk:** - Убедитесь, что вы используете актуальную и стабильную версию Asterisk. Иногда в старых версиях могут быть ошибки, касающиеся CEL. 6. **Логи и отладка:** - Увеличьте уровень логирования в Asterisk, чтобы получить больше информации. Например, установите уровень логирования на `debug` или проверьте, нет ли дополнительных модулей, которые могут влиять на CEL. - Используйте `asterisk -rvvv` для доступа к консоли и следите за выводом в реальном времени. Если после выполнения всех этих шагов проблема не решается, уточните информацию о вашей конфигурации, версии Asterisk и используемой базе данных, чтобы можно было дать дополнительные рекомендации.