VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

web callback

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

telef
Сообщения: 70
Зарегистрирован: 29 июн 2011, 01:52

web callback

Сообщение telef »

решил на сайте сделать web callback
нашел скрипт:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: код скрипта callback
<?

#------------------------------------------------------------------------------------------
#edit the below variable values to reflect your system/information
#------------------------------------------------------------------------------------------

#specify the name/ip address of your asterisk box
#if your are hosting this page on your asterisk box, then you can use
#127.0.0.1 as the host IP. Otherwise, you will need to edit the following
#line in manager.conf, under the Admin user section:
#permit=127.0.0.1/255.255.255.0
#change to:
#permit=127.0.0.1/255.255.255.0,xxx.xxx.xxx.xxx ;(the ip address of the server this page is running on)
$strHost = "Asterisk IP Address";

#specify the username you want to login with (these users are defined in /etc/asterisk/manager.conf)
#this user is the default AAH AMP user; you shouldn't need to change, if you're using AAH.
$strUser = "your_name";

#specify the password for the above user
$strSecret = "your_secret";

#specify the channel (extension) you want to receive the call requests with
#e.g. SIP/XXX, IAX2/XXXX, ZAP/XXXX, etc
$strChannel = "SIP/107";

#specify the context to make the outgoing call from. By default, AAH uses from-internal
#Using from-internal will make you outgoing dialing rules apply
$strContext = "from-internal";

#specify the amount of time you want to try calling the specified channel before hangin up
$strWaitTime = "30";

#specify the priority you wish to place on making this call
$strPriority = "1";

#specify the maximum amount of retries
$strMaxRetry = "2";

#--------------------------------------------------------------------------------------------
#Shouldn't need to edit anything below this point to make this script work
#--------------------------------------------------------------------------------------------
#get the phone number from the posted form
$strExten = $_POST['txtphonenumber'];

#specify the caller id for the call
$strCallerId = "Web Call <$strExten>";

$length = strlen($strExten);

if ($length == 7 && is_numeric($strExten))
{
$oSocket = fsockopen($strHost, 5038, $errnum, $errdesc) or die("Connection to host failed");
fputs($oSocket, "Action: login\r\n");
fputs($oSocket, "Events: off\r\n");
fputs($oSocket, "Username: $strUser\r\n");
fputs($oSocket, "Secret: $strSecret\r\n\r\n");
fputs($oSocket, "Action: originate\r\n");
fputs($oSocket, "Channel: $strChannel\r\n");
fputs($oSocket, "WaitTime: $strWaitTime\r\n");
fputs($oSocket, "CallerId: $strCallerId\r\n");
fputs($oSocket, "Exten: $strExten\r\n");
fputs($oSocket, "Context: $strContext\r\n");
fputs($oSocket, "Priority: $strPriority\r\n\r\n");
fputs($oSocket, "Action: Logoff\r\n\r\n");
fclose($oSocket);
?>
<p>
<table width="300" border="1" bordercolor="#630000" cellpadding="3" cellspacing="0">
<tr><td>
<font size="2" face="verdana,georgia" color="#630000">Производится вызов. Подождите пока Ваш телефон зазвонит!<br>Если телефон не позвонил в течении минуты, попробуйте ещё раз.<br><a href="<? echo $_SERVER['PHP_SELF'] ?>">Ещё раз</a></font>
</td></tr>
</table>
</p>
<?
}
else
{
?>
<p>
<table width="300" border="1" bordercolor="#630000" cellpadding="3" cellspacing="0">
<tr><td>
<font size="2" face="verdana,arial,georgia" color="#630000">Введите Ваш номер ( 812XXXXXXX ).</font>
<form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post">
<input type="text" size="20" maxlength="10" name="txtphonenumber"><br>
<input type="submit" value="Позвонить!">
</form>
</td></tr>
</table>
</p>
<?
}
?>
скопировал, на сайт www.ipotekatyt.ru/call.php
прописал свои параметры,
пробросил 5038 порт.
но при запуске скрипта астериск никак не реагирует
может скрипт не рабочий,
кто настраивал посоветуйте?
mousesport
Сообщения: 4
Зарегистрирован: 19 окт 2012, 13:21

Re: web callback

Сообщение mousesport »

:?: та же беда, нашел этот скрипт и так запустить не получилось . даже ни разу не увидел ни ссылку ни текст "Еще" и "Производится вызов. Подождите пока Ваш телефон зазвонит" . Если кто сталкивался - HELP!
mousesport
Сообщения: 4
Зарегистрирован: 19 окт 2012, 13:21

Re: web callback

Сообщение mousesport »

причем сами команды

Код: Выделить всё

Action: login
Username: user_name
Secret: pass

Action: originate
Channel: SIP/510
WaitTime: 30
CallerId: callweb
Exten: 89290000000
Context: from-internal
Priority: 1

Action: Logoff
астериска через telnet отрабатывает нормально. видимо косяк в скрипте.
mousesport
Сообщения: 4
Зарегистрирован: 19 окт 2012, 13:21

Re: web callback

Сообщение mousesport »

все со всем разобрался, не правильно задал длину номера, и скрипт не успевал отрабатывать пришлось вставлять паузы.
fooks
Сообщения: 6
Зарегистрирован: 05 сен 2016, 15:43

Re: web callback

Сообщение fooks »

Подскажи, пожалуйста, где и как паузу сделал?
fooks
Сообщения: 6
Зарегистрирован: 05 сен 2016, 15:43

Re: web callback

Сообщение fooks »

Вставил перед закрытием сокета, вроде помогло:

...
sleep(1);
fclose($oSocket);
...
fooks
Сообщения: 6
Зарегистрирован: 05 сен 2016, 15:43

Re: web callback

Сообщение fooks »

Никак не могу найти, где указывается время сессии скрипта, т.е. человек, нажатием кнопки на сайте активирует скрипт, который в свою очередь создает соединение с астериском и передает параметры, это соединение длится 30 сек. В течение 30 сек. астер звонит на внутренний номер, после скрипт разрывает соединение...

Как увеличить это время, чтобы дозвон (уже на самом сервере) мог длится дольше.
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: web callback

Сообщение virus_net »

fooks писал(а):после скрипт разрывает соединение...
Скрипт ничего не разрывает, т.к. он генерит сам вызов и завершает свою работу.
http://asterisk.ru/knowledgebase/Asteri ... +Originate
http://www.voip-info.org/wiki/view/Aste ... +Originate
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
ugine_od
Сообщения: 7
Зарегистрирован: 30 июн 2016, 21:16

Re: web callback

Сообщение ugine_od »

/etc/php5/apache2/php.ini :

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30

оно?
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: web callback

Сообщение virus_net »

ппц... :shock:
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH