Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Callback asterisk 1.8.10.1

0

Здравствуйте. Передо мной стоит задача, реализовать callback следующего вида. При входящем звонке, астериск должен обрывать соединение и перезванивать. Определение номера идет в диалплане следующим образом.

[tr389xxxx]

exten => 389xxxx,1,Answer()
            same => n,GotoIf($["${CALLERID(num)}" = "98263xxxx"]?callback)
            same => n,Goto(normal)
            same => n(callback),System(/etc/asterisk/scripts/callback 8${CALLERID(num)} &)
            same => n,Hangup()
            same => n(normal),WaitExten(10)
            same => n,Hangup()

вот так выглядит контекст local

[local]

    exten => _89X.,1,Dial(SIP/389****/${EXTEN},30)
            same => n,Hangup()

    exten => 8888,1,Answer()
            same => n,Dial(SIP/8888,30)
            same => n,Hangup()

трубка сбрасывается, номер сотового определяется, дальше должен сработать скрипт, который вызовет .call файл

#!/bin/sh
sleep 5
NUMBER=$1
echo "Channel: Local/$NUMBER@local
MaxRetries: 1
RetryTime: 10
WaitTime: 20
Context: local
Extension: 8888
Priority: 1
AlwaysDelete: Yes" >/var/spool/asterisk/tmp/$NUMBER
mv /var/spool/asterisk/tmp/$NUMBER /var/spool/asterisk/outgoing/$NUMBER

Дальше я так понимаю вызов должен идти через этот .call файл, но он даже не создается, во всяком случае он не появляется ни в одной директории.

Вот все что пишет астериск при звонке на него

== Using SIP RTP CoS mark 5
    -- Executing [389****@tr389****:1] Answer("SIP/389****-00000012", "") in new stack
    -- Executing [389****@tr389****:2] GotoIf("SIP/389****-00000012", "1?callback") in new stack
    -- Goto (tr389****,389****,4)
    -- Executing [389****@tr389****:4] System("SIP/389****-00000012", "/etc/asterisk/scripts/callback 8982637**** &") in new stack
    -- Executing [389****@tr389****:5] Hangup("SIP/389****-00000012", "") in new stack
== Spawn extension (tr389****, 389****, 5) exited non-zero on 'SIP/389****-00000012'

Подскажите, в чем может быть проблема? Или может есть более простые пути реализации?

удалить закрыть спам изменить тег редактировать

спросил 2012-10-14 22:33:32 +0400

Ivan Gravatar Ivan
1 1

1 Ответ

1

скорее всего у вас чтото с правами доступа.

http://asterisk-support.ru/question/38386/kak-poniat-chto-proiskhodit-na-asteriske/

более простые есть. в 1.6+ есть команда диалплана originate

ссылка удалить спам редактировать

ответил 2012-10-14 23:02:58 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2012-10-14 22:33:32 +0400

Просмотрен: 707 раз

Обновлен: Oct 14 '12

Похожие вопросы:

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.