Asterisk — Автоматический дозвон до внешнего абонента с уведомлением в линию

На днях потребовалось сделать автоматический дозвон с уведомлением в линию  вот решение:

[from-internal-custom]
exten => _*20X.,1,Macro(autodial,${EXTEN:3},${CALLERID(number)})
exten => _*20X.,2,Busy()
 
[macro-autodial]
exten => s,1,ExecIf($["${ARG1:0:1}" = "*" | ${LEN(${ARG2})} != 4 ],Hangup)
exten => s,n,System(echo "Channel: Local/${ARG1}@autodial-outside/n" > /tmp/${ARG2}${UNIQUEID}.call)
exten => s,n,System(echo "MaxRetries: 10" >> /tmp/${ARG2}${UNIQUEID}.call)
exten => s,n,System(echo "RetryTime: 20" >> /tmp/${ARG2}${UNIQUEID}.call)
exten => s,n,System(echo "WaitTime: 40" >> /tmp/${ARG2}${UNIQUEID}.call)
exten => s,n,System(echo -e "Callerid: \\x22CallBack ${ARG1}\\x22 \\x3C${ARG2}\\x3E" >> /tmp/${ARG2}${UNIQUEID}.call)
exten => s,n,System(echo "Context: autodial-internal" >> /tmp/${ARG2}${UNIQUEID}.call)
exten => s,n,System(echo "Extension: ${ARG2}" >> /tmp/${ARG2}${UNIQUEID}.call)
exten => s,n,System(echo "Priority: 1" >> /tmp/${ARG2}${UNIQUEID}.call)
exten => s,n,System(sleep 15 && mv -f /tmp/${ARG2}${UNIQUEID}.call /var/spool/asterisk/outgoing/ &)
 
[autodial-outside]
exten => _X.,1,Dial(SIP/"Trunk_Name"/${EXTEN:1},15,A(autodial-client))
 
[autodial-internal]
exten => _XXXX,1,Dial(SIP/${EXTEN},15,A(autodial-office))
exten => _XXXX,2,Hangup()

Как пользоваться :

Добавляем все это добро в /etc/asterisk/extensions_custom.conf делаем /etc/init.d/asterisk reload

Набираем *20НОМЕР-АБОНЕНТА получаем гудок занято кладем трубку и ждем пока АТС дозвонится абоненту , как атс дозвонится проговорит запись autodial-client и соединит с Вами и также проговорит Вам запись autodial-office.

Asterisk — Автоматический дозвон до внешнего абонента с уведомлением в линию: 2 комментария

  1. Василий

    Добрый день. Сделал по Вашему примеру настройку.
    В итоге автодозвон не фурычит. Вот что лог выдает.

    [2017-09-27 09:44:01] VERBOSE[662] pbx_spool.c: — Attempting call on Local/89611171111@autodial-outside/n for 1071@autodial-internal:1 (Retry 8)
    [2017-09-27 09:44:01] VERBOSE[663][C-0000000c] pbx.c: — Executing [89611171111@autodial-outside:1] Dial(«Local/89611171111@autodial-outside-0000000b;2», «SIP/Comtel938669/9611171111,15,A(autodial-client)») in new stack
    [2017-09-27 09:44:01] VERBOSE[663][C-0000000c] netsock2.c: == Using SIP RTP TOS bits 184
    [2017-09-27 09:44:01] VERBOSE[663][C-0000000c] netsock2.c: == Using SIP RTP CoS mark 5
    [2017-09-27 09:44:01] VERBOSE[663][C-0000000c] app_dial.c: — Called SIP/Comtel/9611171111
    [2017-09-27 09:44:01] VERBOSE[663][C-0000000c] app_dial.c: == Everyone is busy/congested at this time (1:0/0/1)
    [2017-09-27 09:44:01] VERBOSE[663][C-0000000c] pbx.c: — Auto fallthrough, channel ‘Local/89611171111@autodial-outside-0000000b;2’ status is ‘CHANUNAVAIL’
    [2017-09-27 09:44:01] NOTICE[662] pbx_spool.c: Call failed to go through, reason (8) Congestion (circuits busy)
    [2017-09-27 09:44:01] WARNING[663][C-0000000c] channel.c: Prodding channel ‘Local/89611171111@autodial-outside-0000000b;2’ failed

    Куда копнуть, в чем может быть проблема?

    1. Василий

      Проблему нашел.
      [autodial-outside]
      exten => _X.,1,Dial(SIP/»Trunk_Name»/${EXTEN:1},15,A(autodial-client))
      Поменял на
      [autodial-outside]
      exten => _X.,1,Dial(SIP/»Trunk_Name»/${EXTEN},15,A(autodial-client))

      Но счастье было так близко….

      [2017-09-27 14:24:02] VERBOSE[21068][C-0000000d] netsock2.c: == Using SIP RTP TOS bits 184
      [2017-09-27 14:24:02] VERBOSE[21068][C-0000000d] netsock2.c: == Using SIP RTP CoS mark 5
      [2017-09-27 14:24:02] VERBOSE[21068][C-0000000d] app_dial.c: — Called SIP/Comtel931111/89611171111
      [2017-09-27 14:24:02] VERBOSE[21068][C-0000000d] app_dial.c: == Everyone is busy/congested at this time (1:0/0/1)
      [2017-09-27 14:24:02] VERBOSE[21068][C-0000000d] pbx.c: — Auto fallthrough, channel ‘Local/89611171111@autodial-outside-0000000a;2’ status is ‘CHANUNAVAIL’
      [2017-09-27 14:24:02] NOTICE[21067] pbx_spool.c: Call failed to go through, reason (8) Congestion (circuits busy)
      [2017-09-27 14:24:02] WARNING[21068][C-0000000d] channel.c: Prodding channel ‘Local/89611171111@autodial-outside-0000000a;2’ failed

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *