Call файл и 1 gsm канал
Очень нужна помощь
Откуда: Moscow
Сообщений: 39
|
Call файл и 1 gsm канал
Всем привет.
Настроил автоотзвон посредством call файлов. Исходящие звонки идут через 1 gsm канал (1 канал просто для упрощения). Столкнулся со следующей ситуацией: при переносе в outgoing скажем 2 call файла (2 разных номера) Aster дозванивается только до одного абонента. Пока решил выйти из положения следующим способом: 1 раз в секунду отслеживать outgoing и если она пуста, то переносить туда очередной call файл. Но есть подозрение, что что-то не так делаю. Может ситуацию можно разрулить средствами Aster?
[outgoing-from-gsm]
exten => _9X.,1,Dial(SIP/gsm1/${EXTEN:1},30)
[send-message]
exten => 100,1,Set(COUNT=2)
exten => 100,n,Answer()
exten => 100,n,Wait(3);
;exten => 100,n,SendDTMF(1405)
;exten => 100,n,Wait(5)
exten => 100,n,Set(CDR(userfield)=${NumberDialed})
exten => 100,n(start),GotoIf($[${COUNT} > 0]?:goodbye)
;exten => gsm1,n,Set(CDR(userfield)=${NumberDialed})
exten => 100,n,Playback(ru/zdravstvyjte)
exten => 100,n,Playback(ru/digits/0)
exten => 100,n,Playback(ru/digits/1)
exten => 100,n,Playback(ru/digits/2)
exten => 100,n,Playback(ru/digits/3)
exten => 100,n,Playback(ru/do-svidanija)
exten => 100,n,Wait(1);
exten => 100,n,Set(COUNT=$[${COUNT} - 1])
exten => 100,n,Goto(start)
exten => 100,n(goodbye),Hangup()
exten => failed,1,Set(CDR(userfield)=${NumberDialed})
Channel: SIP/gsm1/8916XXXXXX
Callerid: gsm-call-init
MaxRetries: 1
RetryTime: 10
WaitTime: 45
Set: NumberDialed=98916XXXXXX
Context: send-message
Extension: 100
Priority: 1
Archive: Yes
|
Откуда: Киев
Сообщений: 1096
|
Re: Call файл и 1 gsm канал
а слабо скриптом генерить корректное время выполнения колфайла? ;)
|
Откуда: Moscow
Сообщений: 39
|
Re: Call файл и 1 gsm канал
Не слабо. Только на мой взгляд это усложнит задачу. Ведь нужно будет вычислять, когда закончится выполнятся предыдущий call файл. Иначе может возникнуть ситуация, когда один call файл еще выполняется и в это же время запустится еще один call файл, у которого время модификации стало <= текущему. Или я что-то не так понимаю?
|
Откуда: Moscow
Сообщений: 39
|
Re: Call файл и 1 gsm канал
fox_m: Не слабо. Только на мой взгляд это усложнит задачу. Ведь нужно будет вычислять, когда закончится выполнятся предыдущий call файл. Иначе может возникнуть ситуация, когда один call файл еще выполняется и в это же время запустится еще один call файл, у которого время модификации стало <= текущему. Или я что-то не так понимаю?
Скрипт кстати такой, может кому интересно:
#!/bin/bash
outgoing_dir="/var/spool/asterisk/outgoing"
tmp_dir="/tmp/outgoing"
user="asterisk"
group="asterisk"
wait_sec=5
while [ 1 ]
do
if [[ `ls -A1 ${outgoing_dir}` ]]
then
echo "-- Queue is busy --"
else
echo "-- Queue is empty --"
# if tmp dir is not empty
if [[ `ls -A1 ${tmp_dir}` ]]
then
echo "-- Waiting for ${wait_sec} seconds ---"
sleep ${wait_sec}
call_file_name=`ls -A1 ${tmp_dir} | head -n 1`
echo "$call_file_name"
echo "Move new call file: ${call_file_name}"
chown ${user}.${group} ${tmp_dir}/${call_file_name}
mv ${tmp_dir}/${call_file_name} ${outgoing_dir}/${call_file_name}
fi
fi
sleep 1
done
|
Сообщений: 40
|
Re: Call файл и 1 gsm канал
телефонные спамеры =)
|
Откуда: Moscow
Сообщений: 39
|
Re: Call файл и 1 gsm канал
dpak: телефонные спамеры =)
И вовсе не спамеры!!! ))) Просто уже который день мучаюсь, как правильно настроить автодозвон через gsm канал, что бы звонки не "терялись". И что-то подсказывает, что велосипед изобрел.
|
Сообщений: 40
|
Re: Call файл и 1 gsm канал
Мы используем AMI + Originate + анализ логов астериска.
|
Откуда: Moscow
Сообщений: 39
|
Re: Call файл и 1 gsm канал
А вы звонки на кого-то терминируете или через свой шлюз работаете?
|
Сообщений: 40
|
Re: Call файл и 1 gsm канал
В смысле? Есть свой шлюз, скрипт берет номер из базы, Ориджинейт набирает номер, диктует послание и хенгапает. Затем следующий. Анализ на удачное\неудачное завершение звонка идёт через логи астериска.
|
Откуда: Moscow
Сообщений: 39
|
Re: Call файл и 1 gsm канал
Получается у вас * ждет пока завершится предыдущий звонок и потом лишь набирает следующий? А сколько щлюз позволяет делать одновременных звонков?
|
|