Проблемка такая когда запускаю звонок он его отрабатывает нормально НО,
На момент поднятия трубки IVR уже играет секунд 6 , и половина меню уже проиграно, если я правильно понимаю то нужно в пхп скрипте установить waittime другой , не делать же отдельный диалплан в extensions ? или может отправить его на дополнительный wait на master51,78152691013,5
php //
$strChannel = "local/691013@master51"
$strContext = "master51"
$strWaitTime = "40";
$strPriority = "1"
$strMaxRetry = "2"
$strExten = $_POST['txtphonenumber'];
$strCallerId = "Web Call <$strExten>";
$length = strlen($strExten);
if ($length == 11 && 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");
usleep(500);
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");
usleep(500);
fclose($oSocket);
?>
extensions.conf
[master51] ;;;;|**MASTER**;;;;;;;;;; exten => 78152691013,1,Answer()
exten => 78152691013,2,GotoIf($[${BLACKLIST()}=1]?blacklist)
exten => 78152691013,3,GoTo(master51,78152691003,6)
exten => 78152691013,4(blacklist),Hangup()
exten => 78152691013,5,Wait(4)
exten => 78152691013,6,Set(filename=${CDR(uniqueid)})
exten => 78152691013,n,Background(dommaster2)
exten => 78152691013,n,WaitExten(12))
;;;;;;;test
exten => 0,1,Set(filename=${CDR(uniqueid)})
exten => 0,n,Macro(records)
exten => 0,n,Background(followme/pls-hold-while-try)
exten => 0,n,Set(_DYNAMICFEATURES=pitch1#pitch2#pitch3)
exten => 0,n,Dial(Local/89646886054@local-control,90,mgtM(noticeonanswer))
exten => 0,n,StopMixMonitor()
exten => 0,n,Congestion()
exten => 0,n,Hangup()
Что порекомендуете друзья ?
спросил 2013-07-27 21:33:36 +0400
Аноним
рекомендация н1: не заниматься тем в чем вы некомпетентны, использовать уже написанный код
рекомендация 2: сначала звонить потом играть. а не наоборот.
просвещайтесь
Задан: 2013-07-27 21:33:36 +0400
Просмотрен: 407 раз
Обновлен: Jul 27 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Если генерить звонки веба через AMI на пэхэпе то тогда уж использовать PSR-0 совместимую либу - например MarcelogPAGI и добавить опцию "Async" в качестве параметра Originate. Далее для отображения статуса пользователю дергать каналы через AJAX или еще веселее - толкать усеру OriginateResponse через WS. само собой сначала соединять с абонентом а потом с IVR.
octopas ( 2013-07-29 18:02:01 +0400 )редактировать