PDA

Voir la version complète : Mettre deux personnes en communications avec un clicktocall



Neo
03/02/2011, 12h02
Bonjour
Vue que c un autre sujet (je suis les conseil de Fastm3) j'ai crée ce nouveau sujet. JE ne suis pas fort en PHP (en d'autres termes je suis une brelle :pt1cable: ) alors je demande votre aide SVP. Je voulais juste savoir par rapport au code que j'ai trouvé sur l'ancien forum Asterisk :
[URL="http://www.asterisk-france.net/showthread.php?t=9469[/URL]


exten => s,1,Set(Myvar=Test)
exten => s,n,NoOp(Myvar=${Myvar})
exten => s,n,AGI(call.php)
exten => s,n,NoOp(Myvar=${Myvar})



#!/usr/bin/php -q
<?php

require_once('phpagi-asmanager.php');

$number1 = '12';
$number2 = '10';
$asm = new AGI_AsteriskManager();
if($asm->connect("127.0.0.1","admin","amp111"))
{
$call = $asm->send_request('Originate',
array('Channel'=>"SIP/12",
'Context'=>'from-trunk-sip-Nomadoout',
'Priority'=>1,
'Callerid'=>12,
'Exten' =>13));
$asm->disconnect();
}
?>


Si quelqu'un ayant des compétences en PHP peut me dire si ce code fonctionne et surtout comment je pourrai faire un petit test

Désole si je demande trop

fastm3
03/02/2011, 12h43
Je ne testerai pas pour toi.
Tu crees un fichier php sur ton serveur avec le contenu du 2eme bloc.
Appelle le test.php.
Tu remplaces le channel par ton extension sur ton asterisk qui va recevoir le originate. Tu remplaces le contexte par le contexte qui te sert pour appeler. ( from-internal par exemple pour les users freepbx )
Tu verifies les identifiants du manager dans les fichiers de conf et tu les modifies ou crees suivant les cas et tu verifies que ami soit bien activé.

Tu charges ta page et tu regardes si ton extension est bien appelée puis quand tu decroches si le 2eme num est bien appelé aussi.

Voila c'est simple. ;)

Apres tu adaptes cela pour integrer suivant tes besoins en n'oubliant pas l'aspect securité si l'url est accessible à tous.


Note qu'en se servant des sockets directement, ca devrait le faire aussi:


$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);Voila tu as toutes les pistes...Un peu de google et ca devrait le faire...;)
Cheers !
Fastm3.

Neo
03/02/2011, 14h53
MErci
Je voulais que tu l'a teste, juste si cette méhtode a était déja tester.
Sinon tout est clair juste une chose :
"Tu la charges"
Dois-je déposer le fichier test.php dans un répertoire prési pour que je puisse l'appeler à partir d'un navigateur ? ou bien dois-j installer un service genre xamp pour qu'il me publi la page ?
et ca sera la derniere question promi
sinon j'ai voulo lancer le "originate sip:5000 extension 6000@frominternal
mais ca marche pas

fastm3
03/02/2011, 18h35
Le code dans test.php doit etre executé...Donc il te faut php installé...En cli ou par un web serveur.
Commence deja par la base d'Asterisk. Installation, communication entre 2 softphones, ecriture d'un petit dialplan et essaie de maitriser cela. Ca sert a rien de griller les etapes.
Fastm3.