681 просмотров
от (2.8 тыс. баллов) в категории Тонкая настройка
редактировать от

Не работает голосовая почта.

MIKOPBX ver: 2021.3.77

Запись голосовой почты осуществляется, но! ее по факту нет. В журнале звонков запись отображается, но проиграть ее невозможно.

Я залез внутрь посмотрел папку - там пусто. Суда по всему это издержки настройки контекста:

[voicemailcontext]

admin => admin,user,admin@mycompany.com,,attach=yes|tz=local|delete=yes

delete=yes - говорит о том, что сообщения не сохраняются, а просто пересылаются.

Мне кажется - это не очень правильно. Копию записи все-таки нужно оставлять на сервере. Для прослушивания и разбора полетов.

кусок лога(в нем я, кстати, не вижу переименования в папку inbox и попытки отправки на почту):

res_agi.c: Launched AGI Script /usr/www/src/Core/Asterisk/agi-bin/clean_timeout.php

[2021-09-23 10:20:16] VERBOSE[13535][C-0000000e] res_agi.c: <PJSIP/201-0000000d>AGI Script /usr/www/src/Core/Asterisk/agi-bin/clean_timeout.php completed, returning 0

[2021-09-23 10:20:16] VERBOSE[13535][C-0000000e] pbx.c: Executing [voicemail@voice_mail_peer:6] Gosub("PJSIP/201-0000000d", "voicemail_start,voicemail,1") in new stack

[2021-09-23 10:20:16] VERBOSE[13535][C-0000000e] pbx_lua.c: Executing [voicemail@voicemail_start:1] UserEvent("PJSIP/201-0000000d", "CdrConnector,AgiData:eyJJU19PUkdOVCI6ZmFsc2UsIlVOSVFVRUlEIjoibWlrb3BieC0xNjMyMzgxNjE2LjE3XzFvN1IwMiIsImFjdGlvbiI6InZvaWNlbWFpbF9zdGFydCIsImFuc3dlciI6IjIwMjEtMDktMjMgMTA6MjA6MTYuMTA5IiwiZGlkIjoiIiwiZHN0X2NoYW4iOiJWT0lDRU1BSUwiLCJkc3RfbnVtIjoidm9pY2VtYWlsIiwiZnJvbV9hY2NvdW50IjoiMjAxIiwibGlua2VkaWQiOiJtaWtvcGJ4LTE2MzIzODE2MTYuMTciLCJzcmNfY2FsbF9pZCI6IjdmOTk2ZGZhLTE5OTEwMTg5QDE5Mi4xNjguMS4xNjAiLCJzcmNfY2hhbiI6IlBKU0lQLzIwMS0wMDAwMDAwZCIsInNyY19udW0iOiIyMDEiLCJzdGFydCI6IjIwMjEtMDktMjMgMTA6MjA6MTYuMTA5IiwidHJhbnNmZXIiOiIwIiwidmVyYm9zZV9jYWxsX2lkIjoiW0MtMDAwMDAwMGVdIn0=")

[2021-09-23 10:20:16] VERBOSE[13535][C-0000000e] pbx_lua.c: Executing [voicemail@voicemail_start:1] return("PJSIP/201-0000000d", "")

[2021-09-23 10:20:16] VERBOSE[13535][C-0000000e] pbx.c: Executing [voicemail@voice_mail_peer:7] VoiceMail("PJSIP/201-0000000d", "admin@voicemailcontext") in new stack

[2021-09-23 10:20:16] VERBOSE[13535][C-0000000e] file.c: <PJSIP/201-0000000d> Playing 'vm-intro.gsm' (language 'ru-ru')

[2021-09-23 10:20:22] VERBOSE[13535][C-0000000e] file.c: <PJSIP/201-0000000d> Playing 'beep.gsm' (language 'ru-ru')

[2021-09-23 10:20:22] VERBOSE[13535][C-0000000e] app_voicemail.c: Recording the message

[2021-09-23 10:20:22] VERBOSE[13535][C-0000000e] app.c: x=0, open writing:  /storage/usbdisk1/mikopbx/astspool/voicemail/voicemailcontext/admin/tmp/h2qHeA format: wav, 0x154514056f40

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] app.c: User hung up

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] pbx.c: Spawn extension (voice_mail_peer, voicemail, 7) exited non-zero on 'PJSIP/201-0000000d'

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] pbx.c: Executing [h@voice_mail_peer:1] Gosub("PJSIP/201-0000000d", "voicemail_end,h,1") in new stack

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] pbx_lua.c: Executing [h@voicemail_end:1] UserEvent("PJSIP/201-0000000d", "CdrConnector,AgiData:eyJVTklRVUVJRCI6Im1pa29wYngtMTYzMjM4MTYxNi4xN18xbzdSMDIiLCJhY3Rpb24iOiJ2b2ljZW1haWxfZW5kIiwiYWdpX2NoYW5uZWwiOiJQSlNJUC8yMDEtMDAwMDAwMGQiLCJkaWFsc3RhdHVzIjoiQU5TV0VSRUQiLCJlbmQiOiIyMDIxLTA5LTIzIDEwOjIwOjI5LjI5MiIsImxpbmtlZGlkIjoibWlrb3BieC0xNjMyMzgxNjE2LjE3Iiwidm0tcmVjb3JkaW5nZmlsZSI6Ii9zdG9yYWdlL3VzYmRpc2sxL21pa29wYngvYXN0c3Bvb2wvdm9pY2VtYWlsL3ZvaWNlbWFpbGNvbnRleHQvYWRtaW4vSU5CT1gvbXNnMDAwMC5tcDMifQ==")

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] pbx_lua.c: Executing [h@voicemail_end:1] return("PJSIP/201-0000000d", "")

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] pbx.c: Executing [h@voice_mail_peer:2] Hangup("PJSIP/201-0000000d", "") in new stack

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] pbx.c: Spawn extension (voice_mail_peer, h, 2) exited non-zero on 'PJSIP/201-0000000d'

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] app_stack.c: PJSIP/201-0000000d Internal Gosub(hangup_handler,s,1) start

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] pbx.c: Executing [s@hangup_handler:1] NoOp("PJSIP/201-0000000d", "--- hangup - PJSIP/201-0000000d ---") in new stack

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] pbx.c: Executing [s@hangup_handler:2] Gosub("PJSIP/201-0000000d", "hangup_chan,s,1") in new stack

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] pbx_lua.c: Executing [s@hangup_chan:1] UserEvent("PJSIP/201-0000000d", "CdrConnector,AgiData:eyJPTERfTElOS0VESUQiOiJtaWtvcGJ4LTE2MzIzODE2MTYuMTciLCJVTklRVUVJRCI6Im1pa29wYngtMTYzMjM4MTYxNi4xN18xbzdSMDIiLCJhY3Rpb24iOiJoYW5ndXBfY2hhbiIsImFnaV9jaGFubmVsIjoiUEpTSVAvMjAxLTAwMDAwMDBkIiwiYWdpX3RocmVhZGlkIjoibWlrb3BieC0xNjMyMzgxNjE2LjE3X0oxMTQwcyIsImRpYWxzdGF0dXMiOiIiLCJkaWQiOiIiLCJlbmQiOiIyMDIxLTA5LTIzIDEwOjIwOjI5LjI5NiIsImxpbmtlZGlkIjoibWlrb3BieC0xNjMyMzgxNjE2LjE3In0=")

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] pbx_lua.c: Executing [s@hangup_chan:1] return("PJSIP/201-0000000d", "")

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] pbx.c: Executing [s@hangup_handler:3] Return("PJSIP/201-0000000d", "") in new stack

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] app_stack.c: Spawn extension (voice_mail_peer, h, 2) exited non-zero on 'PJSIP/201-0000000d'

[2021-09-23 10:20:29] VERBOSE[13535][C-0000000e] app_stack.c: PJSIP/201-0000000d Internal Gosub(hangup_handler,s,1) complete GOSUB_RETVAL=

Не смотря на отключенные оповещения и отсутствие e-mail адреса в почта уведомление MikoPBX упорно и настойчиво отправляет уведомления:

system/message.log:

Sep 23 11:13:16 user.err msmtp:  host=smtp.gmail.com tls=on auth=off from= recipients=admin@mycompany.com smtpstatus=530 smtpmsg='530-5.7.0 Authentication Required. Learn more at\n530 5.7.0  https://support.google.com/mail/?p=WantAuthError s9sm508594ljp.34 - gsmtp' errormsg='envelope from address  not accepted by the server' exitcode=EX_DATAERR

У сотрудников e-mail не проставлены.

от (2.8 тыс. баллов)
редактировать от
В гитхабе я видел исправления по предыдущей версии, где говорили, что оповещения никогда не отправляются(https://github.com/mikopbx/Core/issues/111). Сейчас по всей видимости перегнули палку в другую сторону - всегда отправляются.
от (2.8 тыс. баллов)
Почитал: https://github.com/mikopbx/Core/issues/126

Правда в этом есть. Но до первых разборок. Были попытки извратить проблему, говоря что голосовая почта не приходила, или что сказали совсем другое. Были даже попытки диверсии с удалением письма с записью из почтового ящика, приходилось поднимать записи с сервера телефонии и письма с бекапов почты. Хорошо бы сделать переключатель - оставлять копию на сервере при отсылке.
от (2.8 тыс. баллов)
редактировать от
Продолжаем тест. Версия 2021.3.86

Оповещения отключены, админский емайл в почта и уведомления вычищен.

Звоним на голосовой ящик. Слышим приветсвие. В логах видим:

pbx.c: Executing [voicemail@voice_mail_peer:4] ExecIf("PJSIP/201-00000000", "0?ChannelRedirect(,voice_mail_peer,voicemail,2)") in new stack
[2021-09-26 16:01:18] VERBOSE[2243][C-00000001] pbx.c: Executing [voicemail@voice_mail_peer:5] AGI("PJSIP/201-00000000", "/usr/www/src/Core/Asterisk/agi-bin/clean_timeout.php") in new stack
[2021-09-26 16:01:18] VERBOSE[2243][C-00000001] res_agi.c: Launched AGI Script /usr/www/src/Core/Asterisk/agi-bin/clean_timeout.php
[2021-09-26 16:01:18] VERBOSE[2243][C-00000001] res_agi.c: <PJSIP/201-00000000>AGI Script /usr/www/src/Core/Asterisk/agi-bin/clean_timeout.php completed, returning 0
[2021-09-26 16:01:18] VERBOSE[2243][C-00000001] pbx.c: Executing [voicemail@voice_mail_peer:6] Gosub("PJSIP/201-00000000", "voicemail_start,voicemail,1") in new stack
[2021-09-26 16:01:18] VERBOSE[2243][C-00000001] pbx_lua.c: Executing [voicemail@voicemail_start:1] UserEvent("PJSIP/201-00000000", "CdrConnector,AgiData:eyJJU19PUkdOVCI6ZmFsc2UsIlVOSVFVRUlEIjoibWlrb3BieC0xNjMyNjYxMjc4LjBfODA3ejgxIiwiYWN0aW9uIjoidm9pY2VtYWlsX3N0YXJ0IiwiYW5zd2VyIjoiMjAyMS0wOS0yNiAxNjowMToxOC40MjkiLCJkaWQiOiIiLCJkc3RfY2hhbiI6IlZPSUNFTUFJTCIsImRzdF9udW0iOiJ2b2ljZW1haWwiLCJmcm9tX2FjY291bnQiOiIyMDEiLCJsaW5rZWRpZCI6Im1pa29wYngtMTYzMjY2MTI3OC4wIiwic3JjX2NhbGxfaWQiOiI0MjllNjljYi00ZDdlZTI0N0AxOTIuMTY4LjEuMTYwIiwic3JjX2NoYW4iOiJQSlNJUC8yMDEtMDAwMDAwMDAiLCJzcmNfbnVtIjoiMjAxIiwic3RhcnQiOiIyMDIxLTA5LTI2IDE2OjAxOjE4LjQyOSIsInRyYW5zZmVyIjoiMCIsInZlcmJvc2VfY2FsbF9pZCI6IltDLTAwMDAwMDAxXSJ9")
[2021-09-26 16:01:18] VERBOSE[2243][C-00000001] pbx_lua.c: Executing [voicemail@voicemail_start:1] return("PJSIP/201-00000000", "")
[2021-09-26 16:01:18] VERBOSE[2243][C-00000001] pbx.c: Executing [voicemail@voice_mail_peer:7] VoiceMail("PJSIP/201-00000000", "admin@voicemailcontext") in new stack
[2021-09-26 16:01:18] VERBOSE[2243][C-00000001] file.c: <PJSIP/201-00000000> Playing 'vm-intro.gsm' (language 'ru-ru')
[2021-09-26 16:01:24] VERBOSE[2243][C-00000001] file.c: <PJSIP/201-00000000> Playing 'beep.gsm' (language 'ru-ru')
[2021-09-26 16:01:24] VERBOSE[2243][C-00000001] app_voicemail.c: Recording the message
[2021-09-26 16:01:24] VERBOSE[2243][C-00000001] app.c: x=0, open writing:  /storage/usbdisk1/mikopbx/astspool/voicemail/voicemailcontext/admin/tmp/yiGbZf format: wav, 0xca9950
[2021-09-26 16:01:30] VERBOSE[2243][C-00000001] app.c: User hung up

Но в Истории звонков появляется только данные о записи. Самой записи нет. Идем с каталог INBOX. Там записи нет.

Смотрим файл system/messages там:

 user.err msmtp:  host=smtp.gmail.com tls=on auth=off from= recipients=admin@mycompany.com smtpstatus=530 smtpmsg='530-5.7.0 Authentication Required. Learn more at\n530 5.7.0  https://support.google.com/mail/?p=WantAuthError c15sm1299342lft.244 - gsmtp' errormsg='envelope from address  not accepted by the server' exitcode=EX_DATAERR
Проводим следующие настройки:

В файле voicemail.conf в контексте voicemailcontext удаляем delete=yes.

перезапускаем.

В итоге запись сохраняется и в CDR и в почтовом ящике. Приходится чистить INBOX.

У меня вопрос: Что происходит с голосовым ящиком? Как он должен по итогу работать?

Правильно ли я полагаю, что запись должна оставаться в CDR и стираться в INBOX? Но тогда получается она не остается ни там ни там при невозможности отправить письмо. Как быть?

1 Ответ

от (122 тыс. баллов)
  • Если smtp не настроен, система не должна пытаться отправлять email
  • Голосовая почта должна быть отправлена на email при корректных настройках smtp
  • Почта не должна сохраниться в INBOX
  • Почта должна сохраниться в истории звонков АТС (CDR), номер назначения будет указан "voicemail"
Проблему воспроизвел. Поправил. Теперь тестируем. 
от (2.8 тыс. баллов)
Спасибо. посмотрим, как будет возможность(iso, img будет выложен).

А вы не думали сделать что-то типа ночных сборок или jenkins запустить? Я думаю, скорость тестирования возросла. Ну, по крайней мере, основные компоненты можно было бы быстрее тестировать, и не боятся что они в релизе отвалятся.
от (122 тыс. баллов)
ночные сборки есть, просто они не публичные

публиковать промежуточные версии пока не было планов
от (2.8 тыс. баллов)
Понятно. Просто если бы была промежуточная версия - проблем с консолью точно можно было бы избежать.По практике обычно делают - одну-две предрелизные для общего пользования, потом релиз. Но дело выбора, конечно.

Ждем корректирующей сборки.
На этом сайте можно бесплатно задать вопрос разработчикам MikoPBX и другим членам сообщества. Время ответа не регламентированно, но мы стараемся несколько раз в день заглядывать сюда. Для срочного решения проблем обращайтесь на платную линию поддержки

Популярные теги

askozia входящие-вызовы настройка исходящие маршрутизация провайдер запись-разговоров входящие ivr исходящие-звонки обновление ошибка очередь провайдеры битрикс24 очередь-вызовов переадресация запись установка маршрут история-звонков mikopbx транк панель-телефонии-1с перевод-вызова перевод askozia7 askozia6 битрикс callerid интеграция голосовая-почта логи перехват-вызова ростелеком нерабочее-время факс модуль nat docker запись-разговора веб-интерфейс bitrix24 goip настройка-провайдер история диалплан почта журнал-звонков релиз gsm вызовы звонок внешние-номера web-интерфейс zabbix маршруты cdr sip панель pjsip переадресация-мобильный voicemail ascozia телефонная-книга аон мобильный звонков лицензирование вызовов редактор номер asterisk лицензия ami регистрация оповещения провайдеров время голосовая fax trunk разговоров группы-пользователей #mikopbx пропущенные-звонки донабор beeline monitoring тишина smtp cisco мобильные мультифон мегафон шлюз не-работает электронная-почта не-слышно-звук

2.8 тыс. вопросов

2.4 тыс. ответов

6.7 тыс. комментариев

465 тыс. пользователей

...