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

dummy durchwahlen

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von prochmi, 17 Jan. 2006.

  1. prochmi

    prochmi Neuer User

    Registriert seit:
    22 Sep. 2005
    Beiträge:
    112
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hallo,
    ich habe folgendes problem.

    ich habe die extensions 1000 bis 1537 in betrieb.
    ich möchte im dialplan nicht für jede extension einen eintrag machen.

    wenn ich ein pattern "1XXX" mache, und es wählt jemand 1550, dann kommt nur ein kurzes anruf beendet am diplay meines phones und ich habe plötzlich wieder ein freizeichen.

    meine idee:
    ich frage den DIALSTATUS sowieso auf besetzt ab (wegen der mailbox)
    => ich frag einfach noch auf "not available" ab und schick dem telefon eine "not available" SIP message

    wie geht das?

    oder ist der ansatz komplett falsch?

    mfg,
    michael
     
  2. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    hallo prochmi,

    ich denke ich würde es erst mal mit ${PRI_CAUSE} probieren. Ich habe dazu mal ein macro geschrieben, welches den ${HANGUPCAUSE} und ${DIALSTATUS} auswertet.

    Code:
    exten => CHANUNAVAIL,1,Answer
    exten => CHANUNAVAIL,n,Wait(0.5)
    exten => CHANUNAVAIL,n,SetVar(PRI_CAUSE=44)
    exten => CHANUNAVAIL,n,SetCDRUserField(${DIALSTATUS}/${PRI_CAUSE})
    exten => CHANUNAVAIL,n,Playback(nbdy-avail-to-take-call)
    exten => CHANUNAVAIL,n,Wait(3)
    exten => CHANUNAVAIL,n,Goto(5)
    exten => CHANUNAVAIL,n,Hangup()
    
     
  3. prochmi

    prochmi Neuer User

    Registriert seit:
    22 Sep. 2005
    Beiträge:
    112
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    da ich keinen PRI habe werd ich auch kein ${PRI_CAUSE} brauchen, oder?

    mich würd noch das GOTO interessieren.

    mfg,
    michael
     
  4. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Ich würde an der Stelle vor dem Dial-Befehl

    exten => _1[012345]XX,n,Dial,bla

    einfach eine Abfrage machen, ob ${EXTEN} > 1537 ist - dann kannst Du das ganze schon vor dem Wählen abfangen.
     
  5. prochmi

    prochmi Neuer User

    Registriert seit:
    22 Sep. 2005
    Beiträge:
    112
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hmm, die 1537 waren nur ein beispiel, ideal wäre es dynamisch.
    die extensions kommen aus einer DB....

    vielleicht irgendsowas wie:
    +) SQL query (maxvalue für die extension column aus der sip.conf)
    +) alles was größer als der maxvalue is gar nicht anwählen
    +) sollten dazwischen lücken sein dann eben per DIALSTATUS auswerten

    es ist halt die frage, ob es sinn macht da so herumzuwerken, wenn man sowieso den DIALSTATUS auch auf non available prüfen muß.
    weil es 1. eben lücken geben kann weil ein account nicht mehr existiert und weil es 2. sicher auch oft vorkommen kann, das ein user einfach nicht angemeldet ist; in diesen fällen möchte ich auch das der anrufer irgendwie davon in kenntnis gesetzt wird.
    das muß ja gar nicht per ansage sein, es würde ja ein nummer_existiert_nicht ton reichen.

    mfg,
    michael