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

Не реализовывается вызов из *

Добавлено: 21 фев 2018, 15:45
Andrey Safonov
Добрый день.
Пытаюсь реализовать вызов из * посредством файла

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

#!/bin/bash

callname=/root/alert.call

echo "Channel: DAHDI/g0/89999999999" > $callname
echo "Callerid: 108" >> $callname
echo "MaxRetries: 1" >> $callname
echo "RetryTime: 30" >> $callname
echo "WaitTime: 10" >> $callname
echo "Context: pstn-out" >> $callname
echo "Extension: 1" >> $callname
echo "Priority: 1" >> $callname

cp $callname /var/spool/asterisk/outgoing/alert.call
rm -f $callname
Ругается так
[2018-02-21 15:32:15] -- Attempting call on DAHDI/g0/89999999999 for 1@pstn-out:1 (Retry 1)
[2018-02-21 15:32:19] WARNING[2642][C-0000003a]: pbx.c:6796 __ast_pbx_run: Channel 'DAHDI/1-1' sent to invalid extension but no invalid handler: context,exten,priority=pstn-out,1,1
[2018-02-21 15:32:19] -- Hanging up on 'DAHDI/1-1'
[2018-02-21 15:32:19] -- Hungup 'DAHDI/1-1'
я так понимаю, что до диалплана не доходит и всё заканчивается ошибкой на канале? Мудрые Гуру, подскажите куда копать чтобы прошёл вызов?

Re: Не реализовывается вызов из *

Добавлено: 21 фев 2018, 16:16
ded
Google => sent to invalid extension but no invalid handler: context,exten,priority

Re: Не реализовывается вызов из *

Добавлено: 21 фев 2018, 16:22
Andrey Safonov
Пишут, что такая ошибка возникает когда нет такого контекста или экстеншна... но у меня же всё есть...

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

[pstn-out]
exten = _9XX.,1,Macro(startrecord)
exten = _9XX.,n,Macro(setcid)
exten = _9XX.,n,Dial(DAHDI/g0/${EXTEN:1},,tT)
exten = _9XX.,n,Dial(SIP/out1/${EXTEN:1},,tT)
exten = _9XX.,n,Hangup
exten = _8[2-8]XXXXXXXXX,1,Goto(9${EXTEN},1)
exten = _89XXXXXXXXX,1,NoOp(DB(DIALEDMOBILE/${EXTEN:-10})=${CALLERID(num)})
exten = _89XXXXXXXXX,n,Set(DB(DIALEDMOBILE/${EXTEN:-10})=${CALLERID(num)})
exten = _89XXXXXXXXX,n,Goto(9${EXTEN},1)
exten = _[23]XXXXXX,1,Goto(9${EXTEN},1)
или нет?

Re: Не реализовывается вызов из *

Добавлено: 21 фев 2018, 16:29
ded
всё перед вами.
Attempting call on DAHDI/g0/89999999999 for 1@pstn-out:1
Разве есть у вас экстен 1 в контексте pstn-out?
Нету.

Re: Не реализовывается вызов из *

Добавлено: 21 фев 2018, 16:35
virus_net
Andrey Safonov писал(а):но у меня же всё есть...
улыбнуло :lol:
это пишет человек, который закопипастил сначала
Andrey Safonov писал(а):echo "Extension: 1" >> $callname
Затем контекст с exten`ами, в которых единицы ну даже близко нету
действительно и чё * не Ванга ? Ведь понятно же все. Звонить желаю ! :D

Re: Не реализовывается вызов из *

Добавлено: 21 фев 2018, 16:44
Andrey Safonov
Мда... Вы правы почему-то... Спасибо!
После того, как подставил

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

Extension: _9XX.
вызов пошел. Непонятно, почему, когда был

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

Extension: s
вызов не проходил?

Re: Не реализовывается вызов из *

Добавлено: 21 фев 2018, 16:58
ded
Потому что в контексте pstn-out экстена s тоже нет.
Вы книгу об Астериске (не спрашиваю - читали!) - открывали?
Тупить то зачем?
Andrey Safonov
Сообщений: 22
Зарегистрирован: 07 окт 2014,
За неполные 4 года можно было уже как-то освоить команды диалплана? Типа
CLI> dialplan show s@pstn-out

Re: Не реализовывается вызов из *

Добавлено: 21 фев 2018, 17:07
Andrey Safonov
Спасибо, справедливо. Читал и думал, что разобрался...
Виноват, дурак, исправлюсь..

Re: Не реализовывается вызов из *

Добавлено: 21 фев 2018, 17:09
virus_net
Andrey Safonov писал(а):Мда... Вы правы почему-то... Спасибо! После того, как подставил Extension: _9XX. вызов пошел.
Вот это уж точно МДА... именно с больших буКаВ.
Срочно "пить пилюлю" снова и снова, до полного просветления.

Re: Не реализовывается вызов из *

Добавлено: 24 фев 2018, 14:11
Andrey Safonov
Смею побеспокоить в продолжение темы.
Файл немного изменил

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

#!/bin/bash
callname=/root/alert.call
echo "Channel: SIP/01009" > $callname
echo "Callerid: test3" >> $callname
echo "MaxRetries: 1" >> $callname
echo "RetryTime: 30" >> $callname
echo "WaitTime: 20" >> $callname
echo "Context: test3" >> $callname
echo "Extension: test" >> $callname
echo "Priority: 1" >> $callname
cp $callname /var/spool/asterisk/outgoing/alert.call
rm -f $callname
Контекст

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

*CLI> dialplan show test3
[ Context 'test3' created by 'pbx_config' ]
  'test3' =>        1. Answer()                                   [pbx_config]
                    2. system(echo "test" > /root/calls_t)        [pbx_config]
                    3. Hangup()                                   [pbx_config]

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

[test3]
exten => test,1,Answer
exten => test,n,system(echo "test" > /root/calls_t)
exten => test,n,Hangup

Почему контекст выполняется только ПОСЛЕ поднятия трубки абонентом 01009, а не до? Что надо сделать, чтобы контекст выполнялся ДО поднятия трубки?
Выдержка из sip.conf

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

[01009]
username=01009
secret=XXXX
host=dynamic
type=friend
context=office
;context=test3
callgroup=1
pickupgroup=1
canreinvite=yes
language=ru
callerid=109 <109>
allowsubscribe=yes
allowtransfer=yes
videosupport=no
qualify=yes
Тут указывал оба контекста