Цель: Хочу звонком на справочный номер узнать свой текущий номер если под рукой нет другой трубки с целью проверить какой номер у текущей трубки звонком друг другу.

Все как всегда познается с учетом уже приобретенных навыков, если ранее я для себя разобрал что есть стандартные звуковые файлы в Asterisk 22, то с учетом того Dial-плана где звонком на номер 2005 инициировал проверку текущего времени. А значит можно взять конструкцию и адаптировать под текущую задачу:

ekzorchik@srv-asterisk:~$ sudo nano /etc/asterisk/extensions.conf

exten => 2005,1,Answer()

 same => n,Set(CHANNEL(language)=ru)

 same => n,Playback(your-extension-is)

 same => n,SayDigits(${CALLERID(num)}

 same => n,Hangup()

ekzorchik@srv-asterisk:~$ sudo asterisk -rx "dialplan reload"

Dialplan reloaded.

ekzorchik@srv-asterisk:~$

Документирую себе:

  • Устанавливаю русский
  • Проигрываю аудиофайл на русском your-extension-is
  • Проговариваю цифру текущего номера
  • Вешаю трубку

Но есть но, у меня почему-то не проигрывается конструкция same => n,Playback(your-extension-is), все банально и просто нет такого аудиофайла ни на русском ни на английском:

ekzorchik@srv-asterisk:~$ sudo ls /var/lib/asterisk/sounds/ru | grep your-extension-is

ekzorchik@srv-asterisk:~$ sudo ls /var/lib/asterisk/sounds/en | grep your-extension-is

и именно поэтому я ничего не слышу, а должно быть: "Ваш внутренний номер - и проговаривается текущий номер", вот часть текущего номера произносится.

Изучаю, оказывается Asterisk не находит файл аудио и поэтому ничего не делается.

С учетом текущего пока Dial-план будет таким:

exten => 2005,1,Answer()

 same => n,Set(CHANNEL(language)=ru)

 ;Внутренний номер

 same => n,Playback(vm-extension)

 same => n,SayDigits(${CALLERID(num)}

 same => n,Hangup()

Произносит: — "Внутренний номер 2001", т.к. проверяю с Endpoint 2001

Пока завершу заметку, что хотел, то и разобрал.