Вы не авторизованы

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

Страницы: 1
RSS
Реализация callback, Реализация механизма callback на askozia
 
Добрый день.

Собрался перейти на этот продукт (собственно уже приобрел и настраиваю), но возник момент. Предыдущая телефония работала на базе стандартного asterisk и там у меня работал этот функционал. Реализовывался он следующим образом:
Делался dialplan вида:

Код
[DID_trunk_Test]                                                                                                                                                                                                                                                    
exten = 4951234567,1,System(/var/spool/asterisk/callback.sh "${CALLERID(num)}")                                                     
exten = 4951234567,2,GotoIf($["${SYSTEMSTATUS}" = "SUCCESS"]?3:4)                                                                   
exten = 4951234567,3,Hangup()
exten = 4951234567,4,System(/var/spool/asterisk/logcid.sh "${CALLERID(num)}")  
Далее дальнейшая обработка  
Что тут было?
Скрипт callback.sh представляет собой следующее:

Код
#!/bin/bash                                                                                                                         
                                                                                                                                    
if [[ "$1" == "" ]]; then                                                                                                           
 exit 1                                                                                                                             
fi                                                                                                                                  
                                                                                                                                    
if [[ "$1" == "`cat /var/spool/asterisk/callback-phones.list  | awk '{print $1}' | grep -e \"^$1$\"`" ]]; then                      
 sleep 8                                                                                                                            
 cat <<EOF >> /tmp/$1.call                                                                                                          
Channel: SIP/Название_Транка/89161234567                                                                                                        
Context: auto-dialout                                                                                                               
Extension: s                                                                                                                        
EOF                                                                                                                                 
 chown asterisk.asterisk /tmp/$1.call                                                                                               
 mv /tmp/$1.call /var/spool/asterisk/outgoing/                                                                                      
 echo `date` callback to `cat /var/spool/asterisk/callback-phones.list | grep -e "^$1"` >> /var/spool/asterisk/callback.log         
 exit 0                                                                                                                             
fi                                                                                                                                  
exit 1 
 
Т.е. при входящем звонке проверялось, содержится ли номер входящего в списке для callback и в случае совпадения генерился файл с расширением .call и помещался в папку outgoing asterisk. Asterisk самостоятельно проверяет содержимое этой папки и выполняет действия описанные в содержащихся файлах. В dialplane обработка на этом заканчивалась, шел вызов приложения Hangup().
В Askozia нет папки outgoing, путь немного другой /var/asterisk/spool, но там нужной папки нет.

Вопрос, как реализовать callback? Пробовал маршрутами вызовов, но без hangup() никак, а hangup() завершает маршрут безусловно...
 
/storage/usbdisk1/askoziapbx/voicemailarchive/outgoing/
 
Доброго дня

Задача интересена. Ее возможно реализовать используя "Приложения" на Askozia. К примеру запуводить звонок с провайдера на php скрипт, который бы проверял вхождение номера в список.

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

Это в общих чертах. Реализацию предложу позже. Планирую блог на эту тему.

директория с call файлами расположена в
[astspooldir]/outgoing/

Директория astspooldir задается в файле

Код
~ # cat /etc/asterisk/asterisk.conf|grep "astspooldir"
astspooldir => /storage/usbdisk1/askoziapbx/voicemailarchive
 
Жду продолжения темы - блога еще нет?
 
После майских, щас цейтнот. :)
 
Жаль... буду ждать с нетерпением - сотрудники скрепя зубами звонят на рабочий мобильный номер, ск оторого им всегда перезванивали - а счас чаще спрашивают "А кто это?" :)
оффтопик - сколько будет стоить переход с Askozia 2.1.6 на  2.2.2 для франчайзеров?
 
Цитата
сколько будет стоить переход с Askozia 2.1.6 на  2.2.2 для франчайзеров?
Стоимость для всех одинакова.
http://www.askozia.ru/software/
 
Цейтнот закончился? :) Ждем блога ;)
 
А воз и ныне там :(
Страницы: 1
Читают тему