- Mitglied seit
- 30 Mai 2005
- Beiträge
- 113
- Punkte für Reaktionen
- 0
- Punkte
- 0
Hallo Freunde,
Ich habe länger nichts mehr mit Asterisk zu tun gehabt, habe aber aus Version 1.4/1.6 noch div. Vorkenntnisse - Nun habe ich für ein neues Projekt wieder Bedarf, und hänge momentan - sicher wisst ihr Rat, und teilt ihn mir auch mit
Szenario:
=> Asterisk 11.04 ist an Sipgate Team Account angebunden.
=> Call File wird erzeugt
=> Call File wird kopiert
- Soweit funktioniert das auch alles recht gut, ich schreibe meine CDR mittels ODBC in eine Remote MySQL - und da fängt der Ärger an - das erste Problem ist mal das jeder Anruf welcher über das Callfile in den Asterisk geschrieben wird (durch file copy) als answered im CDR auftaucht. Beispiel:
Callfile copy to Asterisk => Ausgehender Anruf via Asterisk / Sipgate => Handy klingelt => Anruf wird abgewiesen | im CDR steht dann Answered
Callfile copy to Asterisk => Ausgehender Anruf via Asterisk / Sipgate => Handy klingelt => Anruf wird nicht angenommen | im CDR steht dann Answered
Hier mal ein paar Sysinfo's
Ausgabe CLI bei Anruf:
Inhalt extensions.conf
Inhalt CDR-DB
Wer weiß wie ich das so anpassen kann das ein Anruf nur als "answered" im CDR steht wenn dieser tatsächlich angenommen wurde?
Derzeit läuft die Anbindung über VoIP - es soll aber später an einer E1 laufen, also nicht mehr SIP-Stack, sondern ISDN .... nur als Nebeninfo ...
So, dann bin ich mal gespannt wer der erste ist
Gruß und Danke vorab,
Matthias
Ich habe länger nichts mehr mit Asterisk zu tun gehabt, habe aber aus Version 1.4/1.6 noch div. Vorkenntnisse - Nun habe ich für ein neues Projekt wieder Bedarf, und hänge momentan - sicher wisst ihr Rat, und teilt ihn mir auch mit
Szenario:
=> Asterisk 11.04 ist an Sipgate Team Account angebunden.
=> Call File wird erzeugt
=> Call File wird kopiert
- Soweit funktioniert das auch alles recht gut, ich schreibe meine CDR mittels ODBC in eine Remote MySQL - und da fängt der Ärger an - das erste Problem ist mal das jeder Anruf welcher über das Callfile in den Asterisk geschrieben wird (durch file copy) als answered im CDR auftaucht. Beispiel:
Callfile copy to Asterisk => Ausgehender Anruf via Asterisk / Sipgate => Handy klingelt => Anruf wird abgewiesen | im CDR steht dann Answered
Callfile copy to Asterisk => Ausgehender Anruf via Asterisk / Sipgate => Handy klingelt => Anruf wird nicht angenommen | im CDR steht dann Answered
Hier mal ein paar Sysinfo's
Ausgabe CLI bei Anruf:
Code:
-- Attempting call on SIP/sipgate_outgoing_account1/0190123456for 1001@sipgate_out:1 (Retry 1)
== Using SIP RTP CoS mark 5
> 0x7f1740013b80 -- Probation passed - setting RTP source address to 212.9.44.5:21054
> Channel SIP/sipgate_outgoing_account1-00000000 was answered
-- Executing [1001@sipgate_out:1] Set("SIP/sipgate_outgoing_account1-00000000", "CALLERID(num)=mySIPID") in new stack
-- Executing [1001@sipgate_out:2] Set("SIP/sipgate_outgoing_account1-00000000", "CDR(clid)=0190123456") in new stack
[Jul 15 09:38:48] ERROR[31986][C-00000000]: cdr.c:362 ast_cdr_setvar: Attempt to set the 'clid' read-only variable!.
-- Executing [1001@sipgate_out:3] Set("SIP/sipgate_outgoing_account1-00000000", "CDR(userfield)=0190123456") in new stack
-- Executing [1001@sipgate_out:4] Set("SIP/sipgate_outgoing_account1-00000000", "CDR(ziel)=0190123456") in new stack
-- Executing [1001@sipgate_out:5] Set("SIP/sipgate_outgoing_account1-00000000", "CALLERID(dnid)=0190123456") in new stack
-- Executing [1001@sipgate_out:6] Ringing("SIP/sipgate_outgoing_account1-00000000", "") in new stack
-- Executing [1001@sipgate_out:7] Playback("SIP/sipgate_outgoing_account1-00000000", "tcdemo") in new stack
-- <SIP/sipgate_outgoing_account1-00000000> Playing 'tcdemo.gsm' (language 'en')
> 0x7f1740013b80 -- Probation passed - setting RTP source address to 212.9.44.5:21054
-- Executing [1001@sipgate_out:8] Hangup("SIP/sipgate_outgoing_account1-00000000", "") in new stack
== Spawn extension (sipgate_out, 1001, 8) exited non-zero on 'SIP/sipgate_outgoing_account1-00000000'
[Jul 15 09:38:55] NOTICE[31986]: pbx_spool.c:402 attempt_thread: Call completed to SIP/sipgate_outgoing_account1/015123437220
Inhalt extensions.conf
Code:
[sipgate_out]
exten => 1001,1,Set(CALLERID(num)=mySIPID)
exten => 1001,2,Set(CDR(clid)=${dialedNumber})
exten => 1001,3,Set(CDR(userfield)=${dialedNumber})
exten => 1001,4,Set(CDR(ziel)=${dialedNumber})
;exten => 1001,4,Dial(SIP/sipgate_outgoing_account1/${EXTEN},30,trg)
exten => 1001,5,Set(CALLERID(dnid)=${dialedNumber})
exten => 1001,6,Ringing
exten => 1001,7,Playback(tcdemo)
exten => 1001,8,Hangup
exten => failed,1,Set(NumberDialed=${CUT(PassedInfo,,1)})
exten => failed,n,SetCDRUserField(${NumberDialed})
Inhalt CDR-DB
Code:
Disposition: Answered
Wer weiß wie ich das so anpassen kann das ein Anruf nur als "answered" im CDR steht wenn dieser tatsächlich angenommen wurde?
Derzeit läuft die Anbindung über VoIP - es soll aber später an einer E1 laufen, also nicht mehr SIP-Stack, sondern ISDN .... nur als Nebeninfo ...
So, dann bin ich mal gespannt wer der erste ist
Gruß und Danke vorab,
Matthias