[Problem] Call is always answered

RealFairPlayer

Neuer User
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:

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
 
Bist du sicher das der Anruf wirklich nicht angenommen wird? Wenn du abweist, greift die Busy Umleitung. Die geht (falls vorhanden) doch auf die Box oder den SMS Service. Das gleiche gilt für Noanswer.
Moment. Den Dial hast du ja auskommentiert. Geht der Anruf wirklich raus? Oder hast du das Problem, das bei dem Beispiel das Answer dann im Log steht? Aber auch da gilt, das ein Playback den Channel automatisch beantwortet. Falls es das ist, hilft dir eventuell "Noanswer" im Playbackbefehl.
 
Zuletzt bearbeitet:

Statistik des Forums

Themen
244,883
Beiträge
2,220,115
Mitglieder
371,616
Neuestes Mitglied
MBro
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.