Deutsche Ruftöne nur nach Answer(), dann aber ringtime=durration

jobisoft

Mitglied
Mitglied seit
18 Mrz 2006
Beiträge
206
Punkte für Reaktionen
1
Punkte
0
Hi,

wir benutzen die Asterisk-internen Call-Logs (CDR) für unsere Telefonabrechnung, dies klappt auch prima. In den Call-Logs gibts die Spalte "ringtime" und "duration". In "duration" steht wie lang ein Gespräch gedauert hat, also ab dem Zeitpunkt wo die Gegenstelle abhebt. Diese Spalte benutzen wir für die Berechnung der Telefonkosten.

Vor zwei Wochen hab ich etwas geändert, um dem Anrufer während er wartet das deutsche Rufzeichen zu geben. (Eingestellt in indications.conf): Erst wenn ich vor dem DIAL den Channel von Asterisk ANSWER() lasse, höre ich das korrekte Rufzeichen, sonst das amerikanische (tut-tut, fast wie unser Besetztzeichen).

Nun das Problem: Durch den Answer wird der Channel beantwortet und in den Call-Logs ist jetzt immer "ringtime" = "duration", auch wenn die Gegenstelle garnicht abgehoben hat. Damit klappt die Berechnung nicht.

Ne Idee, wie ich das deutsche Rufsignal kriegen kann, ohne den ANSWER auf den Channel for dem Dial?

Danke
John

Hier ein Auszug aus meiner extension.conf

[default]
exten => _0.,1,SetVar(ToBeDialed=${EXTEN})
exten => _0.,2,Goto(capi-out,s,1)
exten => _ZXX.,1,SetVar(ToBeDialed=${Lokaltown}${EXTEN})
exten => _ZXX.,2,Goto(capi-out,s,1)

[capi-out]
exten => s,1,Answer()
exten => s,2,Dial(CAPI/ISDN1/10:${ToBeDialed},60,H)
exten => s,3,Hangup()
 
Kann mir keiner helfen? Wie macht Ihr das denn, das beim Wählen über SIP/ATA der Anrufer das deutsche Rufzeichen (Das in indications.conf eingestellt ist) hört, während er auf den Angerufenen wartet?

Warum macht Asterisk das nicht direkt, sondern erst nach nem Answer auf den channel? Mach ich was falsch?

Kann man Asterisk evtl so compilieren, das er nur die deutschen Ruftöne kennt und nicht die amerkanischen?

Ich wäre für Hilfe echt dankbar...

Danke
John
 
Hallo!

Das amerikanische Rufzeichen wird vom ATA generiert. Wenn Du willst, dass der Teilnehmer am ATA das von der Anlage generierte Rufzeichen bekommt, dann trage in der sip.conf unter [general] einfach callprogress=yes ein. Wenn´s nur für einen Apparat gelten soll, dann kommt´s in den Kontext der jeweiligen Nebenstelle.
 
Also ich hab das heute den ganzen Tag in allen Kombinationen durchprobiert. Es klappt nicht. Ohne den Answer hab ich ein amerikanisches Rufsignal.

Ich benutze Asterisk 1.2.9.1 - ich habe übrigends nirgends im Netz etwas zu callprogress=yes gefunden. Woher weißt du das?

Ich habe auch mit progressinband rumgespielt (never, no, yes) hab auch nicht funktioniert...


Hier mal meine sip.conf:


[general]
callprogress=yes
context=default
bindport=5065
bindaddr=192.168.78.1
allowexternalinvites=no
tos=lowdelay
disallow=all
allow=gsm
allow=alaw
musicclass=default
language=de
rtptimeout=60
rtpholdtimeout=300
progressinband=yes
useragent=My PBX
promiscredir = no
dtmfmode = rfc2833
notifyringing = yes

register => [... some registers ...]

registertimeout=20
registerattempts=0
callevents=no
externhost=#####.dyndns.org
localnet=192.168.0.0/255.255.0.0
qualify=yes
nat=no




[34]
type=friend
secret=
host=dynamic
username=34
callerid=**34
canreinvite=yes
callprogress=yes

Ich kriegs nicht hin, bin für weitere Hilfe dankbar!
 
Zuletzt bearbeitet:
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.