Wählen mit '+' anstatt '00'

awelzl

Neuer User
Mitglied seit
27 Mai 2006
Beiträge
55
Punkte für Reaktionen
0
Punkte
0
Ich möchte mit meiner Asterisk Rufnummern mit '+' zu Beginn wählen. Wo kann ich die Rufnummern abfangen um das '+' dann in '00' umzuwandeln? Sobald ich die Rufnummer mit '+' an die Asterisk sende, ist der Anruf beendet bevor irgendwelche Skripts greifen - ich kann den "Anrufversuch" nur via sip debug sehen.

Irgendjemand eine Idee dazu?
 
Asterisk selbst kann wählen was Du willst. Die Frage ist nur, wie Du das + vom Telefon aus an den Asterisk schicken kannst - da dürfte das Hauptproblem sein.

Wenn es darum geht, eine gewählte Doppelnull in ein + zu verwandeln, kannt Du das einfach so lösen:

Code:
exten => _00X.,1,dial,SIP/+${EXTEN:2}@<out_context>

Wie hast Du denn in Deinem Dialplan derzeit die extension definiert und was passiert auf der CLI bzw. im Debug, wenn Du die Nummer wählst?
 
indem Du ein passendes pattern verwendest

_+Z.,1,DIAL(SIP/00${EXTEN:1}@provider)
 
Thomas007 schrieb:
_+Z.,1,DIAL(SIP/00${EXTEN:1}@provider)

Ich würde, auch im Zuge eventuell kommender Änderungen in der Pattern-Auswertung, dringend dazu raten, in einem solchen Fall

Code:
_+ZX.

als Pattern zu verwenden ;)
 
Vielen Dank für Eure Tipps. Ich habe das gleich ausprobiert. Leider kein Erfolg ...

Im Sip-Debug kommt die URI mit uri="sip:+43xxxxxxxx@voip01" an und wird trotz Pattern exten => _+Z.,1, ... nicht als Call akzeptiert.

Der Grund für diese Anforderung ist folgender: Wir haben Nokias E61 & E90 im Haus und alle Leute haben die Rufnummern dort mit +xxx gespeichert. Nun kann ich diese nicht einfach an die Asterisk via VoIP schicken, da sie dort nicht akzeptiert werden.

Vielleicht gibt's dazu noch Ideen ...
 
_sip:+Z.,1,DIAL(SIP/00${EXTEN:5}@provider)
 
@Thomas007

Warum

_sip:+Z.,1,DIAL(SIP/00${EXTEN:5}@provider)

und nicht

_sip:+Z.,1,DIAL(SIP/00${EXTEN:1}@provider)

Er schickt doch z.B. +49891111 und möchte 0049891111

Grüße, Werner
 
Leider rennt der Trick mit _sip:+Z., ebenfalls nicht ...

(Im Einsatz: Asterisk 1.4.9)

Ich vermute die Asterisk wertet ein Pattern mit '+' drin nicht aus, aber warum?
Verwende ich statt dem '+' einen Stern, rennt alles einwandfrei ...
 
er schickt "sip:+43xxxxxxxx@voip01" an den Asterisk, also muss er auch darauf prüfen und dann "sip:+" (5 Stellen) abschneiden, 00 davor und dann zum Provider der 004989123456 erwartet.

1.4?

wundert mich

um quasi zu maskieren wäre
_sip:[+]Z.,1,NoOp
der richtige Weg.
 
Unbeachtlich, dessen, dass es spannend wäre zu prüfen, ob der Trick mit dem Pattern dann vielleicht doch klappt: Aus entsprechender Erfahrung mit dem E65 habe ich folgendes im Einsatz (hier mal als ael):

Code:
context sip-dial {
        _.      => {
                        Set(MYNUM=${EXTEN});
                        if ( "${MYNUM:0:1}" = "+" ) {
                                        Set(MYNUM=00${MYNUM:1});
                        };
                        goto handlesipcall|${MYNUM}|1;
                      };

context handlesipcall {
        _0049Z. => {
                               tue irgendwas
                         };
        .... weitere pattern
                      };

Naturgemaess wirft das Pattern _. eine Warning, da es ja alles aufnimmt. Es scheint aber momentan der einzige (mir bekannte) Weg zu sein, nicht-numerische Extension(anteile) zu behandeln.
Daher:
  • Für SIP/GSM-Kombigeraete mit entsprechender Nummernspeicherung mit IAC-Replacement (+) einfach diesen Kontext sip-dial als einzigen includieren und erst nach Behandlung des + in die eigentliche Outbound-Anrufverteilung gehen.
  • Für alle anderen Teilnehmer/Endgeraete, die "normal" wählen (also ohne +) diesen Kontext einfach nicht benutzen.

BTW:

er schickt "sip:+43xxxxxxxx@voip01" an den Asterisk

Das scheint (zumindestens hier bei meinem E65) nicht so zu sein. Beim Wählen über SIP zeigt das zwar das E65 an, der asterisk bekommt aber +43xxxxxxxx@voip01, deshalb klappt es hier mit der vorbeschriebenen Variante.
 
betateilchen hat das eigentlich schon ausreichend angedeutet.

exten => _+Z.,n,Dial,whatever/00${EXTEN:1}@whatever|45|T

jalla, jalla ;-)
 
abw1oim schrieb:
Es scheint aber momentan der einzige (mir bekannte) Weg zu sein, nicht-numerische Extension(anteile) zu behandeln.

alphanumerische Zeichen werden problemlos erkannt, X, Z, N, -, \0 müssen in[] gepackt werden ansonsten werden die in 0-9, usw. umgesetzt oder ignoriert.

Man muss natürlich wissen wie die EXTEN aussieht, aber sowohl _+Z. oder _sip:+Z. matchen bei der entsprechender EXTEN.

@Joel
Das hat betateilchen nicht geschrieben, schau Dir meine und seinen Beitrag noch mal genau an.
 
Zuletzt bearbeitet:
betateilchen riet dazu,

Code:
_+ZX.

zu verwenden!

Und ich benutze halt

Code:
_+Z.,n,Dial,whatever/00${EXTEN:1}@whatever|45|T

seit knapp einem Jahr, um das + zu ersetzen/entfernen. ;-)

Die Nokias schicken kein

Code:
sip:+

Und es funktioniert so mit allen unseren Clients
(E60/E61/E61i/E65/N95/E90), die im Betrieb sind.

CU
Joel
 

Zurzeit aktive Besucher

Neueste Beiträge

Statistik des Forums

Themen
244,879
Beiträge
2,220,028
Mitglieder
371,604
Neuestes Mitglied
broekar
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.

IPPF im Überblick

Neueste Beiträge