Status Busy und co in SQl DB uebergeben

Fredjam

Mitglied
Mitglied seit
7 Mai 2006
Beiträge
362
Punkte für Reaktionen
0
Punkte
0
Hallo wie ich schon im Titel geschrieben habe möchte ich den Status übergeben in die Datenbank... wie mache ich das am besten mit dem
System() oder kann ich dreckt so die sqldb ansprechen....

Die nummer die angerufen wurde ist selber schon in der sqldb und da hinter soll halt dann in einer weiteren spalte der status nummerisch stehen.

Kann mir jemand helfen?


mfg Fredjam
 
Die Datenbank Addons von Asterisk schreiben doch diesen Status schon selbst in die Datenbank, in der die CDR stehen? Wieso das Rad neu erfinden?
 
ja wie ist denn der befehl dafür
 
Wenn Du z.B. die mysql-addons korrekt installiert und die in der Doku beschriebene Tabelle in der Datenbank angelegt hast, schreibt Asterisk die Daten automatisch dort rein. Parallel dazu schreibt er unabhängig von einer Datenbankanbindung die CDR Daten natürlich auch noch in das Standardfile im CSV format, das sich natürlich auch auswerten oder auch in eine Datenbank importieren läßt.

Lies halt mal die Doku zur Gesprächsdatenaufzeichnung, da sind die verschiedenen Verfahren recht genau beschrieben.
 
Oki vielen dann dann muss ich dort mal weiter schauen.

Wollte eigedlich das mit einem befehl machen in der extensions.conf ...

erst mal danke betateilchen
 
Wollte eigedlich das mit einem befehl machen in der extensions.conf ...

Tust Du doch :mrgreen:

Der Befehl dial() in Deiner extensions.conf nimmt automatisch die Gesprächsdatenaufzeichnung vor, es sei denn, du schaltest die Aufzeichnung explizit aus. Mach doch nicht alles komplizierter als es ist und versuche erstmal all die Möglichkeiten zu nutzen, die Asterisk Dir von Haus aus schon bietet - anstatt das Rad neu zu erfinden und manuell nachzuprogrammieren.
 
Soo da ich VoiponCd nutzt habe ich eigedlich ja schon dieses status bei mir in der weboberfläche eingebaut.

Nun habe ich ein Problem mit meinen Php callfile
wenn ich diese ausführe bewirkt der das eine person angerufen wir und diese mit eine audio Aufnahme hört.
Und danach wird noch ein wenig aufgenommen.
Nur egal wie lange die person verbunden ist da steht immer 0 secunden verbunden...
und bei allen anderen calls sind Verbindungen zu sehen.

Code:
2007-08-10 18:09:11  	355  	s  	 Angenommen  	0  	ank. / int. / unbek.
2007-08-10 18:08:56 	355 	021507xxxxx 	Angenommen 	0 	ank. / int. / unbek.

So sieht da dann mit der callfile aus ? warum macht der daraus 2 anrufe obwohl es einer ist und die zeitangabe stimmt nicht ?


Hier der php schnippsel

$timeout = 10;
$asterisk_ip = "localhost";
$socket = fsockopen($asterisk_ip,"5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: admin\r\n");
fputs($socket, "Secret: test\r\n\r\n");
$wrets=fgets($socket,128);
fputs($socket, "Action: Originate\r\n" );
fputs($socket, "Channel: local/$num@autocall\r\n");
fputs($socket, "Exten: s\r\n" );
fputs($socket, "Context: menu-test\r\n" );
fputs($socket, "Priority: 1\r\n" );
fputs($socket, "Callerid: 1337\r\n" );
fputs($socket, "Async: no\r\n\r\n" );
$wrets=fgets($socket,128);


extensions.conf

[autocall]


exten => _0[2-9].,1,Dial(SIP/49${EXTEN:1}@arcor,60,r)
exten => _0[2-9].,n,Congestion
exten => _0[2-9].,n,Hangup


[menu-test1]

exten => s,1,Wait(1)
exten => s,n,SIPdtmfMode(auto)
exten => s,n,DigitTimeout,5
exten => s,n,ResponseTimeout,8
exten => s,1,Playback(Voice3)
exten => s,n,Record(/var/www/tel/${CALLERIDNUM}.wav,2,8,s)
exten => s,n,Playback(THX)
exten => s,n,Hangup



So das wars auch eigedlich und jetzt warum macht.
nur verstehe ich nicht warum der das nicht gebacken bekommt das es es nur eincall ist und da raus 2 calls macht ?
 
Kostenlos!

Statistik des Forums

Themen
248,469
Beiträge
2,292,125
Mitglieder
377,910
Neuestes Mitglied
pinocasino