Страница 1 из 2
					
				Запись одного говорящего.
				Добавлено: 05 ноя 2021, 18:06
				 spirt
				У нас в нерабочее время входящий звонок поступает в следующий контекст и после бипа нужно чтобы астер записал сообщение от звонящего.
exten = _X.,1,Answer()
 same = n,Playback(ivr/same = n,Playback(ivr/none-worktime))
 same = n,Playback(beep)
 same = n,Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)});
 same = n,Set(CDR(filename)=${fname}.wav);
 same = n,MixMonitor(${DIR_RECORDS}${fname}.wav);
 same = n,Hangup()
Однако после бипа астер кладёт трубку. Прошу подсказать, как решить данный вопрос.
			 
			
					
				Re: Запись одного говорящего.
				Добавлено: 05 ноя 2021, 21:11
				 ded
				Если после бипа астер кладёт трубку, значит не выполняется шаг
same = n,Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)});
Вставляйте проверку до и после
same = n,NoOp(File name is ${fname})
Почему он не выполняется - подскажет консоль. Включайте вербозность побольше
CLI> core set verbose 10
и читайте что вам скажет Астериск в консоли.
Поле CDR(filename) в базе имеет длину 120 символов, может ваш ${fname}.wav) длинее?
			 
			
					
				Re: Запись одного говорящего.
				Добавлено: 05 ноя 2021, 21:43
				 Zavr2008
				Dial не вижу, поэтому бип и дальше пролетает до Hangup почти моментально.
			 
			
					
				Re: Запись одного говорящего.
				Добавлено: 06 ноя 2021, 03:34
				 spirt
				ded писал(а):Если после бипа астер кладёт трубку, значит не выполняется шаг
same = n,Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)});
Выполняется
ded писал(а):
Вставляйте проверку до и после
same = n,NoOp(File name is ${fname})
Почему он не выполняется - подскажет консоль. Включайте вербозность побольше
CLI> core set verbose 10
и читайте что вам скажет Астериск в консоли.
Сделал как было сказано. Гляньте пожалуйста вывод консоли:
-- Executing [77172642812@othertime:1] NoOp("SIP/voip-77172642812-00000a08", "7010064646 => 77172642812") in new stack
    -- Executing [77172642812@othertime:2] Answer("SIP/voip-77172642812-00000a08", "") in new stack
       > 0x7efda0079a60 -- Strict RTP switching to RTP target address 185.48.127.7:18534 as source
    -- Executing [77172642812@othertime:3] Playback("SIP/voip-77172642812-00000a08", "/var/lib/asterisk/sounds/ivr/none-worktime") in new stack
    -- <SIP/voip-77172642812-00000a08> Playing '/var/lib/asterisk/sounds/ivr/none-worktime.alaw' (language 'ru')
       > 0x7efda0079a60 -- Strict RTP learning complete - Locking on source address 185.48.127.7:18534
    -- Executing [77172642812@othertime:4] Playback("SIP/voip-77172642812-00000a08", "beep") in new stack
    -- <SIP/voip-77172642812-00000a08> Playing 'beep.alaw' (language 'ru')
    -- Executing [77172642812@othertime:5] NoOp("SIP/voip-77172642812-00000a08", "File name is ") in new stack
    -- Executing [77172642812@othertime:6] Set("SIP/voip-77172642812-00000a08", "fname=1636158320.4653-2021-11-06-06_25") in new stack
    -- Executing [77172642812@othertime:7] NoOp("SIP/voip-77172642812-00000a08", "File name is 1636158320.4653-2021-11-06-06_25") in new stack
    -- Executing [77172642812@othertime:8] Set("SIP/voip-77172642812-00000a08", "CDR(filename)=1636158320.4653-2021-11-06-06_25.wav") in new stack
    -- Executing [77172642812@othertime:9] MixMonitor("SIP/voip-77172642812-00000a08", "/var/calls/1636158320.4653-2021-11-06-06_25.wav") in new stack
    -- Executing [77172642812@othertime:10] Hangup("SIP/voip-77172642812-00000a08", "") in new stack
  == Begin MixMonitor Recording SIP/voip-77172642812-00000a08
  == Spawn extension (othertime, 77172642812, 10) exited non-zero on 'SIP/voip-77172642812-00000a08'
  == MixMonitor close filestream (mixed)
  == End MixMonitor Recording SIP/voip-77172642812-00000a08
 
ded писал(а):
Поле CDR(filename) в базе имеет длину 120 символов, может ваш ${fname}.wav) длинее?
Длина имени меньше 120 символов.
 
			 
			
					
				Re: Запись одного говорящего.
				Добавлено: 06 ноя 2021, 03:37
				 spirt
				Zavr2008 писал(а):Dial не вижу, поэтому бип и дальше пролетает до Hangup почти моментально.
Это входящий звонок. На него мы делаем same = n,Answer(). Dial вроде как не нужен. Или я не прав?
 
			 
			
					
				Re: Запись одного говорящего.
				Добавлено: 06 ноя 2021, 04:49
				 Zavr2008
				Answer лишь переводит входящее плечо звонка в состояние ответа. 
А дальше уже диалплан должен заботиться что с ним делать - позвонить куда либо (тогда Dial нужен), Playback какой зарядить или IVR.
В Вашем же случае не читали Будущего Телефонии явно.
Поставьте хотя бы MusicOnHold как указано 
тут.
 
			 
			
					
				Re: Запись одного говорящего.
				Добавлено: 06 ноя 2021, 11:49
				 spirt
				Zavr2008 писал(а):А дальше уже диалплан должен заботиться что с ним делать - позвонить куда либо (тогда Dial нужен), Playback какой зарядить или IVR.
Всё верно, Dial нужен только если нужно позвонить куда-либо. А в нашей ситуации звонок не требуется. Человек позвонил ночью - астер снял трубку и Playback сказал ему что он невовремя и предложил высказаться по этому поводу после бипа. И нужно как-то это высказывание записать. IVR тоже не нужен.
Zavr2008 писал(а):В Вашем же случае не читали Будущего Телефонии явно.
Читал 3-е и 4-е издание, много. Но там же море информации, всего не упомнишь...
Не понимаю каким образом музыка на удержании может повлиять на ситуацию? По вашей же ссылке сказано, что она используется если заданный екстеншен переводиться в режим ожидания. В нашем же случае звонящий не испытывает никакого ожидания. К тому же музыка на удержании уже настроена по умолчанию.
На всякий случай попробую настроить сегодня по наступлению нерабочего времени, вдруг и вправду поможет...
 
			 
			
					
				Re: Запись одного говорящего.
				Добавлено: 06 ноя 2021, 12:27
				 Zavr2008
				 Playback сказал ему что он невовремя и предложил высказаться по этому поводу после бипа
Это называется автоответчик. Для этого приложение есть в диалплане 
тут. 
То, что Вы лишь запустили MixMonitor ничего не решает)
Он лишь записывает в стерео обе стороны. 
Второго плеча (второй стороны)  у звонка нет - делаете playback(beep) и дальше просто трубку кладете.
 
			 
			
					
				Re: Запись одного говорящего.
				Добавлено: 06 ноя 2021, 13:26
				 ded
				Да, 
spirt изобретает Voicemail. Который уже изобретён.
spirt писал(а):А в нашей ситуации звонок не требуется. Человек позвонил ночью - астер снял трубку и Playback сказал ему что он невовремя и предложил высказаться по этому поводу после бипа
Используйте приложение Voicemail.
 
			 
			
					
				Re: Запись одного говорящего.
				Добавлено: 06 ноя 2021, 14:58
				 Wapo
				Лучше уж Record-приложение