Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ Voice(Asterisk\Cisco) ⇐

CISCO

Microsoft

Powershell

Python

SQL\T-SQL

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Asterisk Callback 2 version


Asterisk Callback

#!/bin/sh

CALLERID=$1
EXTENSION=$2

TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
cat <<EOF > $TEMP
Channel: Sip/$EXTENSION
Extension: $CALLERID
Context: local
Priority: 1
EOF

chown asterisk:asterisk $TEMP
mv $TEMP /var/spool/asterisk/outgoing/
exten => _85X,1,Goto(callback,${EXTEN},1)
[callback]
exten => _85X,1,Set(MYEXT=${EXTEN})
exten => _85X,n,Hangup
exten => h,1,System(/usr/local/bin/callback.sh ${CALLERID(num)} 70${MYEXT:2})

[править] Перезвонить на номер, который пытался дозвониться

#!/bin/sh

EXTEN=$1
QUEUE=/tmp/call-queue/$EXTEN
CALL_TO="`head -1 $QUEUE`"
if [ -n "$CALL_TO" ]
then
        sed -i 1d $QUEUE
        TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
cat <<EOF > $TEMP
Channel: Sip/$EXTEN
Extension: $CALL_TO
Context: gr3
Priority: 1
EOF

        cat $TEMP
        chown asterisk:asterisk $TEMP
        mv $TEMP /var/spool/asterisk/outgoing/
fi
[macro-incoming]                                                                
                                                                                
;exten => s,1,GotoIf($[${CALLERID(number)}=3301]?end)                           
;exten => s,1,GotoIf($[${BLACKLIST()}=1]?end)                                   
exten => s,1,Set(CALLFILENAME=from-${CALLERID(number)}-to-${MACRO_EXTEN}-${STRFT
IME(${EPOCH},EUROPE/kiev,"%Y-%m-%d-%H:%M:%S")})
exten => s,n,Monitor(wav,${CALLFILENAME},m)
exten => s,n,Dial(SIP/${MACRO_EXTEN},10)
;exten => s,n,GotoIf($[${ISNULL(${DB(mobile/${MACRO_EXTEN})})}]?end)
;exten => s,n,Dial(SIP/odessa/${DB(mobile/${MACRO_EXTEN})})
exten => s,n,GotoIf($[${DIALSTATUS}cro-test]=BUSY]?busy)
exten => s,n(busy),System(echo ${CALLERID(number)} >> /tmp/queue/${MACRO_EXTEN})
exten => s,n,Playback(/var/tmp/busy)
exten => s,n,Hangup
exten => s,n,VoiceMail(${MACRO_EXTEN}@default)
exten => s,n(busy),Playback(/var/tmp/busy)
exten => s,n(end),Hangup

exten => h,1,System(/usr/local/bin/queue.sh ${MACRO_EXTEN})


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект