AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Автоответчик, не работает Record()

Newbies/FAQ Forum 16 сообщений -
#1

Автоответчик, не работает Record()


Звонок поступает на gsm-шлюз Addpac-1002a, с него вызов по sip поступает на Астериск. Нужно добавить запись сообщения звонящего, сделал, как делал раньше, но почему-то после "бип" звонок висит, в телефоне написана "Безусловная переадресация" и всё, висит пока не положу трубку. В результате создается файл-запись, содержащий дорожку длинной 1 сек. и кажется без звука совсем.

Код:
[record-gsm-in2]
exten=>_X.,1,Set(fname=${STRFTIME($EPOCH),,%Y-%m-%d__%H-%M-%S)}__${CALLERID(number)}-${EXTEN})
same=>n,Answer()
same=>n,Record(/rec/${fname}.wav)
same=>n,Wain(10)
same=>n,Hangup()
same=>n,StopMixMonitor


В консоли вижу следующее:

Код:
== Using SIP RTP CoS mark 5
-- Executing [1000@gsm-in:1] Goto("SIP/gsm-00000d06", "record-gsm-in2,1000,1") in new stack
-- Goto (record-gsm-in2,1000,1)
-- Executing [1000@record-gsm-in2:1] Set("SIP/gsm-00000d06", "fname=2012-12-18__19-47-31__79243487611-1000") in new stack
-- Executing [1000@record-gsm-in2:2] Answer("SIP/gsm-00000d06", "") in new stack
-- Executing [1000@record-gsm-in2:3] Record("SIP/gsm-00000d06", "/rec/2012-12-18__19-47-31__79243487611-1000.wav") in new stack
-- Playing 'beep.gsm' (language 'ru')
== Spawn extension (record-gsm-in2, 1000, 3) exited non-zero on 'SIP/gsm-00000d06'


Права доступа на директорию:

Код:
root@server:/etc/asterisk# ls -la /rec
итого 24
drwxrwxrwx 2 root root 4096 дек. 18 19:52 .
drwxr-xr-x 25 root root 4096 дек. 18 19:35 ..
-rw-rw---- 1 asterisk asterisk 16364 дек. 18 19:43 2012-12-18__19-43-13__79243487611-1000.wav


Как видно файл создается, в директорию полный доступ.


В чем может быть проблема?


Последний раз редактировалось: thunderamur (Вт Дек 18, 2012 13:09)
#2

Монтируете не с теми провами. Ради экспиримента сохраните локально и увидите разницу.
#3

Права верные, в эту шару запись возможна. Я, конечно, попробую, но раз файл создается и он не пуст, значит с правами всё нормально. Какие ещё идеи?
#4

Прошу прощения что вмешиваюсь.
Но не пробовали ли Вы писать не через шлюз? Пробовали Record без параметров?
А это точно работает ${CALLERID(nuber)} ? Laughing

_________________
Мы всегда можем уметь...
#5

awsswa @ Вт Дек 18, 2012 00:53 писал(а):
Монтируете не с теми провами. Ради экспиримента сохраните локально и увидите разницу.


Что-то я сейчас даже засомневался... реально надо проверить, способо то этот рабочий, раньше так делал.

nikto То, что тебя веселит всего лишь издержки копирования и, даже если бы была такая ошибка в конфиге, на запись она не повлияла бы, просто было бы корявое имя файла.
Что значит писать не через шлюз? Record без параметров, разве так можно?
#6

2_thunderamur
Издержки написания с ручника =) Сам так периодически ошибаюсь, без обид =)

Не че рез шлюз, значит на прямую подключившись к примеру софтфоном к астеру, то есть не через шлюз Addpac. Если так пишет, можно проверять через шлюз.
Без параметров, имелось в виду просто написать

Код:

same=>n,Record(${fname}.wav)

_________________
Мы всегда можем уметь...
#7

Попробуйте Record с параметром k
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#8

В общем, перепробовал все озвученные варианты - не то пальто. Для того, чтобы было проще искать причину пытаюсь писать в папку в корне с доступом 0777. Кроме того, упростил диалплан, привел всё в культурном виде. Думаю нужно тему в раздел гуру закидывать... как перенести тему туда? (пишу модерам).
#9

Я не модератор, в тестовых целях делаю так

exten => 592,1,Set(TIME="${STRFTIME(${EPOCH},,%Y-%m-%d_%H-%M-%S)}")
exten => 592,n,Playback(beep)
exten => 592,n,Record(/var/lib/asterisk/sounds/custom/record_${TIME}:gsm)
exten => 592,n,Playback(beep)
exten => 592,n,Playback(/var/lib/asterisk/sounds/custom/record_${TIME})
exten => 592,n,Hangup()
#10

Попробую, но не думаю, что это мне поможет, видно, что у меня на Record() все висит, до Wait() не доходит, а потом сразу Hangup(), но я попробую.
#11

ап-ап, какие ещё идеи?

товарищи, подсобите, готов подогреть за дельный совет или помощь по teamviewer.
#12

Готов, стучите в skype: yarick_perm лучше с утра завтра.
#13

Как указывали выше, параметр k
Ну попробуй еще Wait(1) поставь, just for fun

exten => _X.,1,NoOp
same => n,Wait(1)
same => n,Answer
same => n,Set(WAVFILE=/tmp/${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${CALLERID(num)})
same => n,Record(${WAVFILE}.wav,,,k)
same => n,Hangup

_________________
Corporate Telephone Systems. VoIP. http://ai.kh.ua
#14

bako, я пробовал параметр k, а по умолчанию x - тот же k, но ещё и не реагирует на DTMF, ждет Hangup.

Added after 39 seconds:

awsswa @ Пт Дек 21, 2012 22:42 писал(а):
Готов, стучите в skype: yarick_perm лучше с утра завтра.

ок, попробуем.
#15

Re: Автоответчик, не работает Record()


thunderamur @ Пн Дек 17, 2012 05:14 писал(а):


Код:
[record-gsm-in2]
exten=>_X.,1,Set(fname=${STRFTIME($EPOCH),,%Y-%m-%d__%H-%M-%S)}__${CALLERID(number)}-${EXTEN})
same=>n,Answer()
same=>n,Record(/rec/${fname}.wav)
same=>n,Wain(10)
same=>n,Hangup()
same=>n,StopMixMonitor

В чем может быть проблема?
Если мне не изменяет память то StopMixMonitor используется в связке с StartMixMonitor и применяется после нее. Так как вы не постите реальный конфиг а "с издержками копирования" ( в ручную чтоли печатаете?) то невозможео предположить что у вас счас в конфиге на самом деле. В любом случае судя по приведенным примерам у вас в голове каша. На форуме уже сотни примеров есть, для чего было создавать сто-первый топик. А потом еще и требовать поднять его в главный форум...
Рекомендую перестать дергать с инета куски конфигов которые вы не понимаете и лепить из них чтото рабочее, в место этого рекомендую прочесть книгу по астериску сперва. За пару вечеров прочитывается легко. После этого пободные вопросы отпадут сами собой, сами увидите.

_________________
Успехов!
#16

Re: Автоответчик, не работает Record()


1. ИП, применяется в связке с MixMonitor(). Когда готовил образец, демонстрирущющий проблему забыл вырезать просто, до него, кстати дело даже не доходит, как видно в консоли.
2. Это реальный конфиг, созданный как образец, копипаста.
3. Требовать и просить разные вещи.
4. Книгу надо прочесть, да.