Hallo ich versuche schon seit 2 Wochen eine richtige Abrechnung hinzubekommen aber irgend wie will das nicht und ich weiß nicht woran das liegt.
Also ich habe ein callphp Datei wo ich eine Nummer reinschreiben kann und wo durch bestätiegung des Anruf butten die Person angerufen wird.
Dieser Person wird dann was mit geteilt, und zum Schluss wird noch ein record gemacht.
Hier ein Code schnipsel aus der php
Das Problem hier bei ist das egal wie lange der anruf dauert bei mir in der Datenbank drinne steht das der anruf 0 secunden gedauert hat und jeder anruf wird 2 mal eingetragen.
Und so sieht das in der Console aus
Warum macht der jetzt aus einem call 2 calls und warum steht da immer secunden hat ein anruf gendauert?
Kann mir da jemand weiter helfen ?
Also ich habe ein callphp Datei wo ich eine Nummer reinschreiben kann und wo durch bestätiegung des Anruf butten die Person angerufen wird.
Dieser Person wird dann was mit geteilt, und zum Schluss wird noch ein record gemacht.
Hier ein Code schnipsel aus der php
Code:
$timeout = 10;
$asterisk_ip = "127.0.0.1";
$socket = fsockopen($asterisk_ip,"5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: admin\r\n");
fputs($socket, "Secret: passwort\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: 355\r\n" );
fputs($socket, "Context: menu-test1\r\n" );
fputs($socket, "Priority: 1\r\n" );
fputs($socket, "Callerid: 355\r\n" );
fputs($socket, "Async: no\r\n\r\n" );
$wrets=fgets($socket,128);
Code:
[menu-test1]
exten => 355,1,Wait(1)
exten => 355,2,SIPdtmfMode(auto)
exten => 355,3,DigitTimeout,5
exten => 355,4,ResponseTimeout,8
exten => 355,n,Playback(anrufmitteilung)
exten => 355,n,Record(/tmp/${CALLERIDNUM}antwort.wav,2,8,s)
exten => 355,n,Playback(aufwiederhoern)
exten => 355,n,Hangup
exten => h,1,Hangup
Code:
[autocall]
exten => _0[2-9].,1,Dial(SIP/49${EXTEN:1}@arcor,60,r)
exten => _0[2-9].,n,Congestion
exten => h,1,Hangup
Das Problem hier bei ist das egal wie lange der anruf dauert bei mir in der Datenbank drinne steht das der anruf 0 secunden gedauert hat und jeder anruf wird 2 mal eingetragen.
Code:
Datum Rufnummer Destination Status Dauer/Sek. Provider
2007-08-15 21:43:47 355 355 Angenommen 0 ank. / int. / unbek.
2007-08-15 21:43:36 355 0211223456 Angenommen 0 ank. / int. / unbek.
Und so sieht das in der Console aus
Code:
== Parsing '/etc/asterisk/manager.conf': Found
== Manager 'admin' logged on from 193.111.112.2
== Manager 'admin' logged off from 193.111.112.2
-- Executing Dial("Local/0211223456@autocall-2105,2", "SIP/[email protected]|60|r") in new stack
-- Called [email protected]
-- SIP/217.111.166.222-355-083c5470 is ringing
-- SIP/217.111.166.222-355-083c5470 answered Local/02112602768@autocall-2105,2
> Channel Local/02112602768@autocall-2105,1 was answered.
-- Executing Wait("Local/0211223456@autocall-2105,1", "1") in new stack
== Spawn extension (autocall, 02112602768, 1) exited non-zero on 'Local/0211223456@autocall-2105,2'
-- Executing Hangup("Local/0211223456@autocall-2105,2", "") in new stack
== Spawn extension (autocall, h, 1) exited non-zero on 'Local/02112602768@autocall-2105,2'
-- Executing SIPDtmfMode("SIP/217.111.166.222-355-083c5470", "auto") in new stack
Aug 15 21:43:48 WARNING[5383]: chan_sip.c:13057 sip_dtmfmode: I don't know about this dtmf mode: auto
-- Executing DigitTimeout("SIP/217.111.166.222-355-083c5470", "5") in new stack
-- Set Digit Timeout to 5
-- Executing ResponseTimeout("SIP/217.111.166.222-355-083c5470", "8") in new stack
-- Set Response Timeout to 8
-- Executing Playback("SIP/217.111.166.222-355-083c5470", "anrufmitteilung") in new stack
-- Playing 'telekotext' (language 'en')
-- Executing Record("SIP/217.111.166.222-355-083c5470", "/tmp/0211223456antwort.wav|2|8|s") in new stack
-- Playing 'beep' (language 'en')
-- Executing Hangup("SIP/217.111.166.222-355-083c5470", "") in new stack
== Spawn extension (menu-test1, h, 1) exited non-zero on 'SIP/217.111.166.222-355-083c5470'
Warum macht der jetzt aus einem call 2 calls und warum steht da immer secunden hat ein anruf gendauert?
Kann mir da jemand weiter helfen ?