Nummer extrahieren [Gelöst]

frank_87

Neuer User
Mitglied seit
4 Sep 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich versuche verzweifelt aus einer P-Asserted-Identity die Nummer rauszu filtern.

Ich habe mir die PAI schon in eine Variable gespeichert.
Leider ist das Problem das sie wie folgt aussieht:
<sip:[email protected]>
und ich brauch bloß die Telefonnummer, also 1234.

Ich habe es schon mit CUT versucht, komme aber nicht weiter.
:confused:
 
Zuletzt bearbeitet:

alfhh

Mitglied
Mitglied seit
5 Jan 2006
Beiträge
329
Punkte für Reaktionen
0
Punkte
0
Bei mir klappt das so:

......
exten => 495,n,Set(NUMMER=${CUT(NUMMER,@,1)}); nimmt alles vor dem "@"
exten => 495,n,Set(NUMMER=${CUT(NUMMER,:,2)}); nimmt alles nach dem ":"
......

Bye,
Alf
 

frank_87

Neuer User
Mitglied seit
4 Sep 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Danke für die schnelle Antwort!
Ich werde das gleich mal probieren,
leider hats ebend meine Asterisk VM zerrissen.... (MIST)
Kann also dauern
 

frank_87

Neuer User
Mitglied seit
4 Sep 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Leider funktioniert das nicht.

Immer wenn ich damit die CALLERID(num) oder (name)
überschreiben will, kommt asterisk.
Weil die Zeile leer ist...

Theoretisch müsste es aber funktionieren, macht es aber nicht..:(
 

alfhh

Mitglied
Mitglied seit
5 Jan 2006
Beiträge
329
Punkte für Reaktionen
0
Punkte
0
Setze doch mal vor und nach den CUT Befehlen ein Noop, damit du sehen kannst was die einzelnen Schritte erreichen. Wenn das klappt, kannst du ja weitersehen. Post mal deinen Code, und die Asteriskversion.

Bye,
Alf
 

frank_87

Neuer User
Mitglied seit
4 Sep 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Also, ich habe einen Asterisk 1.4.18.1, der mit dem AsteriskNOW Image ausgeliefert wurde.

Mein Code:

Code:
exten => 1234,1,GotoIf($[$CALLERID(num)=anonymous]?ja:nein)
exten => 1234,n(ja),Set(NUMMER=${SIP_HEADER(P-Asserted-Identity)})
exten => 1234,n(ja),Set(NUMMER=${CUT(NUMMER,@,1)})
exten => 1234,n(ja),Set(NUMMER=${CUT(NUMMER),:,2)})
exten => 1234,n(ja),Set(CALLERID(all)=${NUMMER})
exten => 1234,n(ja),Dial(SIP/345)
exten => 1234,n(nein),Dial(SIP/345)
Ich kann mir sowieso die Schritte in der CLI anschauen, da der Debugger immer läuft.

Kann es sein das NUMMER garkeinen Wert bekommt?

DANKE für deine Hilfe!!!
 

alfhh

Mitglied
Mitglied seit
5 Jan 2006
Beiträge
329
Punkte für Reaktionen
0
Punkte
0
Wenn du mit Labels arbeitest "(ja)" darf das AFAIK nur einmal vorkommen. Der Sprung soll ja an eine eindeutige Priorität führen. Mach nach den CUT Befehlen dann mal eine Zwischenzeile mit
Code:
exten=> 1234,n,Noop(${NUMMER})
Dann kannst du die Ergebnisse der einzelnen Schritte auf der CLI sehen.

Bye,
Alf
 

frank_87

Neuer User
Mitglied seit
4 Sep 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Ich habe jetzt mal das
Code:
exten=> 1234,n,Noop(${NUMMER})
eingefügt und in der CLI steht:

Excuting [[email protected]:5] NoOp("SIP/anonymous.invailid","") in new stack

Was mir schon komisch vorkommt ist das:

Executing [[email protected]:2] Set("SIP/anonymous.invailid,"NUMMER=") in new stack
 

alfhh

Mitglied
Mitglied seit
5 Jan 2006
Beiträge
329
Punkte für Reaktionen
0
Punkte
0
Wie du siehst, ist kein "@" und ":" enthalten. Also wird das mit dem CUT auch nichts. Poste mal den SIP Debug eines eingehenden Anrufs. Dann können wir weitersehen.

Bye,
Alf
 

frank_87

Neuer User
Mitglied seit
4 Sep 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Oh man alles geklärt, dein Denkanstoß mit den Label war sehr sehr gut.

Ich habe jetzt mal den ganzen GotoIf Quatsch rausgenommen und es funktioniert!
Der Debugger zeigt jetzt das @ und : an und die "beschneidung" funktioniert 1a!

Ich danke dir von Herzen, du hast mir echt weitergeholfen.

Jetzt bleibt nur noch eine letzte Frage an dich als alten "Forenhasen".
Wie kann man das Thema schließen oder als Gelöst makieren?

DANKE!
 

alfhh

Mitglied
Mitglied seit
5 Jan 2006
Beiträge
329
Punkte für Reaktionen
0
Punkte
0
Ab in den ersten Beitrag, "Ändern" wählen, Überschrift mit einen [Gelöst] versehen. Wie kommt es denn, dass die Callerid nur im zusätzlichen SIP Header steht? Das ist doch schon eigentlich nicht OK.

Bye,
Alf
 
Zuletzt bearbeitet:

frank_87

Neuer User
Mitglied seit
4 Sep 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Auf der Lastmile dürfen eigentlich keine P-Asserted-Identitys mitgeschickt werden.
Da ich die PAI als glaubwürdiger einschätze wollte ich mir diese anzeigen lassen.

Gruß Frank
 
Zuletzt bearbeitet:

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
234,028
Beiträge
2,041,832
Mitglieder
353,342
Neuestes Mitglied
schmoom