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

Dial Flag "o"

Dieses Thema im Forum "Asterisk Skripte" wurde erstellt von Emaleth, 12 Sep. 2008.

  1. Emaleth

    Emaleth Neuer User

    Registriert seit:
    12 Sep. 2008
    Beiträge:
    37
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo zusammen,

    ich bin relativer Newbie und habe nun ein Problem, von dem ich mir von Euch Hilfe erhoffe.

    Ich habe 2 Asterisk-Server:

    Einer fungiert als Gateway und soll einige Anrufe an den Application-Server weitergeben. Das funktioniert auch so weit.

    Leider ist der Version-Stand auf beiden Servern nicht gleich und ich weiß nicht, ob das Problem vielleicht nicht schon hier liegt

    Gateway:
    asterisk-1.4.19.2
    libpri-1.0.x (kann ich leider nicht mehr herausfinden :()
    zaptel-1.4.9


    Application-Server:
    asterisk-1.4.21
    libpri-1.4.7
    zaptel-1.4.11 (nur ztdummy für MeetMe)

    Ich möchte nun auf dem Gateway einen Anruf entgegen nehmen und auf dem Application-Server wieder annehmen, allerdings soll er mir die CallerID des auf dem GW eingehenden Anrufs an den Application-Server weitergeben. Dazu habe ich im Asterisk Buch online gelesen, dass das mit Dial Flag "o" gehen soll.

    http://www.das-asterisk-buch.de/2.1/applikationen-dial.html

    o Benutzt die auf der eingehenden Strecke des Anrufs empfangene Caller ID als die Caller ID auf der ausgehenden Richtung des Anrufs. Das ist nützlich, falls ein Anruf akzeptiert und dann zu einem anderen Ziel weitergeleitet wird, wobei die Caller ID der eingehenden Richtung des Anrufs weitergeben wird, statt diese zunächst mit den lokalen Caller ID-Einstellungen zu überschreiben.

    Ich wollte das dann so machen:

    exten => _12345.,1,Dial(SIP/${EXTEN}@applicationserver,,o)

    Ich sehe über die Console vom Asterisk auf dem Gateway, dass die clid gesetzt wird mit meiner Handynummer, von dem aus ich auch angerufen habe. Auf dem Application-Server kommt der Anrufa an. Aber ich sehe einfach nicht die CallerID auf den Application-Server ankommen. Außerdem wird mein Soundfile nicht abgespielt, bzw. ich sehe im Log, dass es abgespielt wird, aber ich höre nichts. wenn ich das gleiche ohne das Flag "o" mache, dann höre ich das Soundfile... Das verstehe ich nicht.

    Gibt es besser Möglichkeiten um einen Anruf von einem zum anderen Server weiterzuleiten und dem dann die CallerInformationen zu übermitteln? Ich habe schon mit SetCallerPres (allowed) und (allowed_passed_sreen), sowie mit Set(CallerID) getestet, das scheint aber auch nicht beim Application Server anzukommen.

    Hilfe wäre super.

    Danke schon mal.

    LG, Sabine
     
  2. Burmann

    Burmann Mitglied

    Registriert seit:
    16 Feb. 2005
    Beiträge:
    372
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Was steht in der sip.con unter [applicationserver]?
     
  3. Emaleth

    Emaleth Neuer User

    Registriert seit:
    12 Sep. 2008
    Beiträge:
    37
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #3 Emaleth, 12 Sep. 2008
    Zuletzt bearbeitet: 12 Sep. 2008
    Hallo Burmann,

    in der sip.conf steht zum applikationsserver im übertragenen sinne folgendes:

    [appserver]
    type=friend
    context=test
    host=aps.meinedomain.net

    Das komische ist, dass wenn mit NoOp auf dem GW die ${CALLERID(num)} ausgeben lasse, dann sehe ich die dort auch, obwohl ich bei meinem Handy die Nummer unterdrücke meine komplette Handynummer. Die NoOp-Ausgabe der Caller ID auf dem App-Server hingegen zeigt mir dann nach dem Weiterleiten meines Anrufs zum App-Server, nur bei nicht-unterdrückten Anrufen die Caller ID. Ich möchte und muß, aber auch bei unterdrückten Anrufen, die Nummer des Anrufenden sehen.
    Woran das wohl liegen kann?


    LG, Sabine
     
  4. Burmann

    Burmann Mitglied

    Registriert seit:
    16 Feb. 2005
    Beiträge:
    372
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ohne Passwort? Nunja du wirst schon wissen was du tust...

    Was ich dir sagen kann ist, es liegt nicht an den unterschiedlichen Versionen.

    SetCallerPres funktioniert beim ISDN-Channel um der mitzuteilen ob die Rufnummer angezeigt werden soll oder unterdrückt wird. Auf einem Sip-Channel hatte es bei mir keinen Einfluß.

    Wenn ich bei mir exten => _12345.,1,Dial(SIP/${EXTEN}@IP.ADR.ES.SE) mache kommt der Ruf auf dem Asterisk mit der IP.ADR.ES.SE mit der gleichen CID an wie beim ursprünglichen Asterisk.

    Vieleicht hilft dir auch ein "exten => _X.,1,NoOp(${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)} ${CONTEXT}=${EXTEN}=${CALLERID(all)}=${RNDIS}=${DNID}=${SIP_CODEC}=${SIPCALLID})" im ankommenden Asterisk.

    Ansonsten mal 'n log Posten von beiden * mit "set verbose 4" von einem Testanruf.
     
  5. Emaleth

    Emaleth Neuer User

    Registriert seit:
    12 Sep. 2008
    Beiträge:
    37
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Also:

    exten => _12345.,n,SetCallerPres(allowed)

    scheint das Problem nun doch gelöst zu haben... Danke