AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Доработка к астериска

Работа 7 сообщений -
#1

Необходимо создать следующий сервис: набор номера абонента из веб браузера.

Алгоритм работы сервиса:
сотрудник компании видит в браузере ссылку ввиде номера телефона, кликает на него,
после чего происходит одновременный вызов вызываемого абонента и вызов на внутренний телефон сотрудника, далее сотрудник берет трубку на своем аппарате, слышит гудки вызова в дальнейшем происходит соединение и сам собственно разговор.

Вероятная схема работы (догмой не является можно предложить любую более удачную):

На астериске устанавливается веб. сервер, запускается скрипт (вероятно перловый).
Скрипт принимает вызов из браузера сотрудника и принимает информацию о вызываемом номере и внутреннем номере.
Далее данная информация передается в Астериск и вызов отрабатывается

Жду предложение по способу решения и стоимость работ.
Пишете на адрес: wwat*rbcmail.ru

С уважением
Сергей
#2

Аналогичная штука работает так:
пользователь при заходе на phonebook авторизуе тся используя authnz_ldap модуль для apache. - соответсвенно можно подсатать его номер телефона
потом при клике на ссылке вызывается скрипт с параметром в виде номера вызываемого, который(скрипт) телнетом лезет на астериск(можно и call file)
итого вам необходим тока скрипт генерации phone book и авторизация пользователей.
#3

есть такая фишка реализовано через Manager API работает на ура ))
_________________
нанотехнолигии в области Asterisk
#4

2 файла: call.sh и telnetCall.sh кладутся в cgi-bin

в адресной книге должны быть cсылки вида http://voip.local/cgi-bin/call.sh?him=1004&me=1000

подразумевается что есть доступ на asterisk для пользователя manager c паролем mysecret

cat call.sh
Код:
#!/bin/sh
echo "Content-type: text/html"
echo
export HIM=`echo "$QUERY_STRING" | sed -n 's/^.*him=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
export ME=`echo "$QUERY_STRING" | sed -n 's/^.*me=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`


echo "Caller $ME calling to $HIM"

$(dirname $0)/telnetCall.sh



cat telnetCall.sh
Код:

#!/bin/sh
DELAY=0.2s

echo "open voip.local 5038"
sleep $DELAY
echo "Action: Login"
echo "UserName: manager"
echo "Secret: mysecret"
echo

sleep $DELAY
echo "Action: Originate"
echo "Channel: Local/$ME"
#echo "CallerID: $cn "
#echo "Account: $CHANNEL"
echo "Exten: $HIM"
echo "Priority: 1"
echo "Context: office"
echo

sleep $DELAY
echo "Action: Logoff"
echo "Parameters: None"
echo
#5

а разве cсылки вида http://voip.local/cgi-bin/call.sh?him=1004&me=1000 не дают возможность кликать только абоненту 1000?
как другим то звонить через ссылку?
SugarCRM имеет в каждом аккаунте поле его экстеншн, типа SIP/1000
Понятно, что если залогинлся как сам, то при клике содаётся твой call file и соединяет нужный номер с SIP/1000
#6

Повторяю, для каждого пользователя подразумевается свой phonebook,
как его получить - совсем другая задача. Я получаю номер пользователя на основании авторизации в апаче и вытягиваю девайс из LDAP.
Возможно огромное количество способов это сделать.