Asterisk сбор конференции клавишей

Asterisk сбор конференции клавишей

    Asterisk позволяет создавать телеконференции с неограниченным количеством участников. В стандартной конференции участник должен набрать номер конференции для присоединения. А если надо собрать конференцию из предустановленных участников нажатием одной клавиши или набором кода?  Для этого можно использовать возможности Call File.

Для совершения вызова
  • Channel: <channel>: Канал используемый для вызова.
  • CallerID: «name» <number> Caller ID, Примечание: Это не работает если формат не соответсвует шаблону: CallerID: «Some Name» <1234>
  • MaxRetries: <number> Число попыток (исключая первую попытку, т.е. если поставить 0 = всего будет совершена одна попытка). Default is 0.
  • RetryTime: <number> Время в секундах между попытками. Default is 300 (5 min).
  • WaitTime: <number> Время посылки вызова. Default is 45.
  • Account: Set the account code to use.
Когда соединение установлено:
  • Context: [Контекст] в extensions.conf
  • Extension: Екстеншен в [контексте] extensions.conf
  • Priority: приоритет в контексте
  • Set: Set a variable for use in the extension logic (example: file1=/tmp/to ); in Asterisk 1.0.x use 'SetVar' instead of 'Set'
  • Application: Asterisk Application to run (используется вместо контекста, екктншена и приоритета)
  • Data: The options to be passed to application
  • Set: Can now also write to dialplan functions like CDR()
  • AlwaysDelete: Yes/No - If the file's modification time is in the future, the call file will not be deleted
  • Archive: Yes/No - Move to subdir «outgoing_done» with «Status: value», where value can be Completed, Expired or Failed. 

Контекст from-invite задает номер для сбора конференции. 
/etc/asterisk/extensions.conf

[from-invite]
exten => _111,1,Answer()
exten => _111,n,System(/var/spool/asterisk/call_list.sh)

Shell Скрипт /var/spool/asterisk/call_list.sh/ Cкрипт вызывает номера перечисленные в файле /var/spool/asterisk/list.txt. Количество номеров разрешенных для одновременного набора указывается в переменной «$count_f» -eq «15»

#!/bin/sh
 
while read number; do
cat <<EOF  >  /var/spool/asterisk/$number
 
Channel: Local/$number
Callerid: $number
MaxRetries: 1
RetryTime: 20
WaitTime: 30
Context: conference
Extension: s
Priority: 1
Archive: yes
Set: CDR(userfield)=${REASON}
Account: confrence_1
EOF
 
    chown asterisk:asterisk /var/spool/asterisk/$number
    mv /var/spool/asterisk/$number  /var/spool/asterisk/outgoing
    echo "$number"
    number=`expr $number + 1`
    while [ "$?" -eq "0" ]
    do
count_files ()
 
{
    count_f=`ls /var/spool/asterisk/outgoing | wc -l`
 
        if [ "$count_f" -eq "15" ]; then
            sleep 10
            return 0
        else
            return 1
        fi
}
 
    count_files
    done
 
done < /var/spool/asterisk/list.txt
 
exit 0

Участники конференции /var/spool/asterisk/list.txt

100
101
102
103
104

Bottom Logo

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

Почему решение телефонии должно строиться на открытом продукте? Не одну приоритарную систему нельзя так гибко настроить и адаптировать под бизнес процессы вашей компании!

Следуйте за нами:

КОНТАКТЫ

  • E-mail:

    info@voiplab.by

  • Телефон для связи:

    velcom +375445608007