Страница 1 из 1

RECORD пишет проигрываемые ролики

Добавлено: 09 июл 2017, 12:42
r@diO
Друзья, всем привет!
Прошу подсказки у более опытных коллег.
Есть транк Телфин:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: sip.conf
register => SIPID:PASS@213.170.92.166:5060/SIPID

[telphin]
context=inbound_telphin
type=peer
username=SIPID
fromuser=SIPID
secret=PASS
host=213.170.92.166
port=5060
promiscredir=yes
fromdomain=sip.telphin.com
insecure=invite,port

[in_SIPID]
context=inbound_telphin
type=peer
username=SIPID
host=213.170.92.166
port=5060
insecure=invite,port
Скриптом создаются call-файлы такого содержимого:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: uid.call
Channel: Local/НОМЕР@outgoing
CallerID: SIPID
Context: promo
Extension: НОМЕР
Priority: 1
Archive: No
AlwaysDelete: Yes
Вот сами контексты:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: extensions.conf
[outgoing]
exten => _X.,1,Dial(SIP/telphin/8${EXTEN:1},25,i)
exten => _X.,2,Hangup

[promo]
exten => _X.,1,Noop(Вызов на ${EXTEN})
exten => _X.,n,Playback(/var/spool/asterisk/clips/info)
exten => _X.,n,Set(RECORD_FILE=${STRFTIME(${EPOCH},,%Y%m%d%H%M%S)}-${EXTEN}-${UNIQUEID})
exten => _X.,n,Record(/var/spool/asterisk/monitor/${RECORD_FILE}.wav,2,5)
exten => _X.,n,Playback(/var/spool/asterisk/clips/complete)
exten => _X.,n,Hangup()
При тестировании выявилась такая проблема, что при увеличении нагрузки, когда доходит примерно до 30 одновременных вызовов, в RECORD_FILE начинается писаться, то что проигрывается в роликах /var/spool/asterisk/clips/complete или /var/spool/asterisk/clips/info.
Asterisk 13.3.2
Из-за чего может такое происходить? В чем ошибка?

Re: RECORD пишет проигрываемые ролики

Добавлено: 09 июл 2017, 13:52
r@diO
Добавлю, что ранее использовался MixMonitor - проблема аналогичная.
Очевидно, что что-то не так с call-файлом и контекстами. Но что?

Re: RECORD пишет проигрываемые ролики

Добавлено: 10 июл 2017, 11:57
virus_net
В логи и/или CLI смотрели ? Там что ?

Re: RECORD пишет проигрываемые ролики

Добавлено: 10 июл 2017, 14:26
r@diO
Первым дело. Но дело в том, что проблема проявляется периодически и только при больших нагрузках. В консоли слишком много вывода, чтобы что-то разобрать. На небольших нагрузках по консоли всё нормально.
---
В итоге проблема решилась тем, что вместо вызова с локального канала:

Код: Выделить всё

call-файл: Channel: Local/НОМЕР@outgoing
[outgoing]: exten => _X.,1,Dial(SIP/${TRUNK_NAME}/8${EXTEN:1},25,i)
переделал на прямые вызовы:

Код: Выделить всё

Channel: SIP/ТРАНК/НОМЕР

Re: RECORD пишет проигрываемые ролики

Добавлено: 10 июл 2017, 16:29
virus_net
r@diO писал(а):В консоли слишком много вывода, чтобы что-то разобрать
Для этого есть вывод в лог файл. Научить вас пользоваться grep`ом ?

Re: RECORD пишет проигрываемые ролики

Добавлено: 10 июл 2017, 17:42
r@diO
Если Вас не затруднит, то несколько примеров применительно к подобным случаям точно не помешают.

Re: RECORD пишет проигрываемые ролики

Добавлено: 10 июл 2017, 21:50
april22
Man grep

Re: RECORD пишет проигрываемые ролики

Добавлено: 11 июл 2017, 13:20
virus_net

Код: Выделить всё

# cat /var/log/asterisk/messages | grep "SIP/1.2.3.4-00003262"

Код: Выделить всё

# cat /var/log/asterisk/messages | grep "SIP/301"
Достаточно примеров ?