.titleBar { margin-bottom: 5px!important; }

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

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von jobisoft, 9 Dez. 2006.

  1. jobisoft

    jobisoft Mitglied

    Registriert seit:
    18 März 2006
    Beiträge:
    206
    Zustimmungen:
    0
    Punkte für Erfolge:
    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()
     
  2. jobisoft

    jobisoft Mitglied

    Registriert seit:
    18 März 2006
    Beiträge:
    206
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  3. dfrye

    dfrye Neuer User

    Registriert seit:
    6 Apr. 2004
    Beiträge:
    118
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  4. jobisoft

    jobisoft Mitglied

    Registriert seit:
    18 März 2006
    Beiträge:
    206
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #4 jobisoft, 15 Dez. 2006
    Zuletzt bearbeitet: 15 Dez. 2006
    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!