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

Follow Me

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von bvsn, 22 Sep. 2006.

  1. bvsn

    bvsn Neuer User

    Registriert seit:
    22 Sep. 2006
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Leute,

    ich bin neu hier im Forum und erst seit wenigen Tagen mit Asterisk zugange. Ich würde gerne folgendes realisieren. Wenn eingehende Anrufe auf meiner Büronummer nicht entgegengenommen werden, sollen sie aufs Handy weitergestellt werden. Später soll es dann mal soweit verbessert werden, dass wenn auch am Handy niemand abnimmt und es sich um spezielle Anrufer handelt automatisch eine E-Mail an eine hinterlegte Adresse versendet wird.

    Ich hänge leider noch bei der schnöden Weiterleitung. Bisher sieht die so aus:

    exten => 000387XXXXX,1,Dial,SIP/88|10|r
    exten => 000387XXXXX,2,Setvar(NewCaller=${CALLERIDNUM})
    exten => 000387XXXXX,3,Set(CALLERID=0${CALLERIDNUM})
    exten => 000387XXXXX,4,dial(SIP/000387804212/0160878XXXX,20,r)
    exten => 000387XXXXX,5,Set(CALLERID=${NewCaller})

    Ruft nun jemand auf der Büronummer an klingelt diese für 10 Sekunden und danach klingelt das Handy. Das ist soweit auch schon ganz schön. Angezeigt wird jedoch die Büronummer. Wenn ich das Skript richtig verstanden habe, sollte eigentlich die Nummer des eigentlichen Anrufers angezeigt werden. Das ist schon mal das erste, das nicht ganz koscher läuft...viel schlimmer aber, ich höre nix! Wenn ich den Anruf entgegennehme, höre ich nix. Eigentlich hätte, glaube ich, noch irgendwo eine Variable TRUNK reingehört. Ich weiß nicht was die macht aber vermute, das ist der geparkte Anruf und was ich gebastelt habe, ist nix weiter als am Handy ein Klingeln zu erzeugen, ohne das wirklich jemand dran ist.

    Ich hoffe es kann mir hier jemand weiterhelfen.

    Gruß

    Christoph
     
  2. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    SetVar ist absolut uralt.

    Es gibt noch weitere Möglichkeiten:

    DIAL(SIP/1123@provider1&SIP/235@provider2& use...)

    Nachteil, bei allen Anschlüssen beginnt es zur gleichen Zeit zu klingeln und auch die Klingeldauer ist gleich.
    Der erste Anschluss der abnimmt beendet alle anderen Signalisierungen.

    Die andere Möglichkeit ist die Verwendung von local channels, dann kannst Du pro angerufenen Anschluss Beginn der Signalisierung und Klingeldauer festlegen.
    Damit kannst Du es auch überlappend klingeln lassen.
    Ist allerdings etwas komplizierter.

    Du kannst wenn der Provider es zulässt an 10 Anschlüssen gleichzeitig klingeln. Da das erste angenommene Gespräch alle anderen beendet ist die DSL-Leitungskapazität auch kein Problem.

    - Das Du nichts hörst liegt vermutlich an fehlenden Portforwarding für die rtp Ports (siehe rtp.conf)

    - Provider verändern die CallerID! Beim Provider fragen was er wann überträgt und wie er was ändert.
    Rufst Du über ENUM oder DNS direkt an kannst Du auch Deine CallerID übertragen!
     
  3. bvsn

    bvsn Neuer User

    Registriert seit:
    22 Sep. 2006
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    vielen Dank für deine schnelle Antwort. Gleichzeitig klingeln lassen wollte ich es in diesem Fall nicht, weil es in meiner Hose sonst permanent vibriert, auch wenn ich im Büro sitze und die Anrufe dort entgegennehme ;-)

    Ok, ich werde zum einen Mal nach den rtp ports und zum anderen mal nach den local channels schauen, allerdings erst morgen. Ich melde mich und bin dir soweit schon mal dankbar!

    Gruß

    Christoph
     
  4. bvsn

    bvsn Neuer User

    Registriert seit:
    22 Sep. 2006
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #4 bvsn, 23 Sep. 2006
    Zuletzt bearbeitet: 23 Sep. 2006
    Hallo,

    ich hab jetzt mal versucht das ganze mit local channels zu realisieren. Hier mein Skript:

    exten => 000387804xxx,1,DIAL(LOCAL/655@ankommend&LOCAL/659@ankommend)
    exten => 655,1,NoOp(655)
    exten => 655,n,Dial,SIP/88|10|r
    exten => 659,1,NoOp(659)
    exten => 659,n,Wait(10)
    exten => 659,n,dial(SIP/000387804xxx/016058475xxx,20,r)

    Das Ergebnis ist jetzt gerade das gleiche, wie bei meiner vorherigen Lösung. Es klingelt zuerst auf dem VoIP Account und zeitversetzt auf dem Handy aber wenn ich am Handy abnehme, höre ich nix. Liegt das nun auch noch an den rpt ports? Ich hatte das so als entweder oder verstanden. Also das man bei dem Weg über channel local nix mehr im Zusammenhang mit rpt ports konfigurieren muss.

    Wo liegt eigentlich der Vorteil in der Lösung über channel local?

    Gruß

    Christoph
     
  5. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    nichts hören -> meistens rtp ports nicht weitergeleitet
    hat nichts mit local channels zu tun.

    Einige Vorteil hatte ich schon beschrieben.

    Dein Beispiel kann aber mehr als das Beispiel davor. Du kannst pro Channel Klingeldauer und Beginn der Signalisierung einstellen. Das geht nur mit local channels.
     
  6. bvsn

    bvsn Neuer User

    Registriert seit:
    22 Sep. 2006
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    in der rtp.conf ist die Range 10000 - 20000 angegeben. Diese ports forwarde ich auch an den Asterisk. Das Problem tritt auch nur bei der Weiterleitung auf. Ich habe sonst keine Probleme, dass ich nix höre egal ob auf SIP, Handy oder Festnetz.

    Gruß

    Christoph
     
  7. bvsn

    bvsn Neuer User

    Registriert seit:
    22 Sep. 2006
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    ich poste dir mal das Logging von der CLI in der Hoffnung, dass du daraus mehr lesen kannst als ich.

    ratatux*CLI> set verbose 5
    Verbosity was 0 and is now 5
    -- SIP/88-08196fe0 is ringing
    -- Executing Dial("Local/659@ankommend-ccd0,2", "SIP/000387804xxx/05114597xxx|20|r") in new stack
    -- Called 000387804xxx/05114597xxx
    -- Local/659@ankommend-ccd0,1 is ringing
    -- Nobody picked up in 10000 ms
    -- Local/655@ankommend-1489,1 stopped sounds
    -- SIP/000387804xxx-081650c8 is ringing
    -- SIP/000387804xxx-081650c8 is making progress passing it to Local/659@ankommend-ccd0,2
    Sep 25 22:16:25 WARNING[5075]: pbx.c:2415 __ast_pbx_run: Timeout, but no rule 't' in context 'ankommend'
    -- SIP/000387804xxx-081650c8 answered Local/659@ankommend-ccd0,2
    -- Local/659@ankommend-ccd0,1 stopped sounds
    -- Local/659@ankommend-ccd0,1 answered SIP/dus.net-081943c0
    == Spawn extension (ankommend, 659, 3) exited non-zero on 'Local/659@ankommend-ccd0,2'
    == Spawn extension (ankommend, 000387804xxx, 1) exited non-zero on 'SIP/dus.net-081943c0'
    -- parse_srv: SRV mapped to host proxy.dus.net, port 5060
    -- parse_srv: SRV mapped to host proxy.dus.net, port 5060
    Sep 25 22:18:07 WARNING[4861]: chan_sip.c:9794 handle_response_register: Got 200 OK on REGISTER that isn't a register
    Sep 25 22:18:08 WARNING[4861]: chan_sip.c:9794 handle_response_register: Got 200 OK on REGISTER that isn't a register
    Sep 25 22:18:08 WARNING[4861]: chan_sip.c:9794 handle_response_register: Got 200 OK on REGISTER that isn't a register

    Hast du vielleicht noch nen Hint für mich wo ich ansetzen muss?

    Gruß

    Christoph