![]() |
|
|||||||
| Registrieren | Hilfe | Benutzerliste | Wiki | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|
#1 |
|
IPPF-Fan
Registriert seit: 31.10.2004
Ort: Wien
Beiträge: 446
|
[HowTo] Zahlen in Buchstaben umzuwandeln?
Ich habe aufgrund des Threads http://www.ip-phone-forum.de/showthread.php?t=98998 eine Verbindung zwischen meinem Asterisk und Skype geschaffen. Wirklich eine super Sache, Skype ist jetzt wie ein weiterer SIP-Provider von meinem Asterisk aus verwendbar.
Ein Problem dabei ist, dass Skype keine Nummern, sondern Namen mit Buchstaben und Ziffern verwendet. Den Echotest von Skype, der die "Nummer" echo123 hat, erreiche ich so: Code:
exten => 98812,1,Dial,SIP/echo123@skype|60 Code:
a = 21 (weil es auf der Zifferntaste 2 der erste Buchstabe ist) b = 22 (weil es auf der Zifferntaste 2 der zweite Buchstabe ist) ..... z = 94 (weil es auf der Zifferntaste 9 der vierte Buchstabe ist) Für die Ziffern 0 is 9 würde ich 00 bis 09 nehmen. Geändert von betateilchen (14.05.2006 um 13:43 Uhr). |
|
|
|
|
#2 |
|
IPPF-Fan
Registriert seit: 11.12.2005
Beiträge: 134
|
Das läßt sich am einfachsten in der extensions.ael lösen
Du teilst die Länge der gewählten Nummer durch 2 - damit weißt Du, wieviele Zeichen Du am Schluß haben mußt. MIt diesem Zähler gehst Du in eine Schleife, schneidest jedesmal 2 Stellen von der Nummer ab und wertest die in einem case Statement aus. Das Ergebnis hängst Du an die Ziel-Variable an. Fertig ist die Laube. Geändert von betateilchen (13.05.2006 um 00:23 Uhr). |
|
|
|
|
#3 |
|
IPPF-Fan
Registriert seit: 31.10.2004
Ort: Wien
Beiträge: 446
|
Danke für den Tip mit extensions.ael. Als Newbie wusste ich gar nichts davon, und habe mich gleich schlau gemacht. Hier nun die Lösung meines Problems aus meiner extensions.ael:
Code:
context skype {
_1080X. => {
skypenum=${EXTEN:4};
for (x=-2; ${x} < ${LEN(${skypenum})}-2; x=${x} + 2) {
skypesub=${skypenum:${x}:2};
switch (${skypesub}) {
case 21:
skypechar=a;
break;
case 22:
skypechar=b;
break;
case 23:
skypechar=c;
break;
case 31:
skypechar=d;
break;
case 32:
skypechar=e;
break;
case 33:
skypechar=f;
break;
case 41:
skypechar=g;
break;
case 42:
skypechar=h;
break;
case 43:
skypechar=i;
break;
case 51:
skypechar=j;
break;
case 52:
skypechar=k;
break;
case 53:
skypechar=l;
break;
case 61:
skypechar=m;
break;
case 62:
skypechar=n;
break;
case 63:
skypechar=o;
break;
case 71:
skypechar=p;
break;
case 72:
skypechar=q;
break;
case 73:
skypechar=r;
break;
case 74:
skypechar=s;
break;
case 81:
skypechar=t;
break;
case 82:
skypechar=u;
break;
case 83:
skypechar=v;
break;
case 91:
skypechar=w;
break;
case 92:
skypechar=x;
break;
case 93:
skypechar=y;
break;
case 94:
skypechar=z;
break;
case 00:
skypechar=0;
break;
case 01:
skypechar=1;
break;
case 02:
skypechar=2;
break;
case 03:
skypechar=3;
break;
case 04:
skypechar=4;
break;
case 05:
skypechar=5;
break;
case 06:
skypechar=6;
break;
case 07:
skypechar=7;
break;
case 08:
skypechar=8;
break;
case 09:
skypechar=9;
default:
skypechar=§;
};
skypename=${skypename}${skypechar};
};
Dial(SIP/${skypename}@skype,60);
};
};
Skype hat bei mir die Providervorwahl 1080. Also wird zuerst auf dieses Pattern gematched, und die ersten 4 Zeichen (also 1080) abgeschnitten. Dann wird die restliche Ziffernfolge paarweise abgearbeitet, und im switch statement das jeweilige Zeichen zugeordnet. Als primitives Errorhandling provoziere ich bei einem ungültigen Zahlenpaar einen Fehler, indem ich das Zeichen § zuweise. Das ist quick and dirty, aber funktioniert. Nun kann ich ganz normal aus meinem Asterisk über ein Zifferntelefon nach Skype wählen. Wehrmutstropfen ist halt, dass Skype nicht auf meinem vServer laufen kann, sondern der Asterisk auf meinen Windows-PC zu Hause zugreifen muss. Aber wer weiß, vielleicht gibt es da auch einmal eine Lösung. So finde ich meine Lösung schon recht befriedigend, da sie doch einiges von der Proprietärität von Skype nimmt. Immerhin ist es nun in meinen Asterisk integriert. Wenn jemand Verschönerungsvorschläge für meine Lösung hat: Nur zu, postet sie. Das ist schließlich mein erster Gehversuch mit AEL gewesen. Als Nächstes werde ich dieses Programmstück dazu verwenden, SIP-URIs von der Zifferntastatur zu wählen. Ich muss dazu lediglich noch Zifferpaare für Punkt, Bindestrich und Klammeraffe einführen. Ich denke ich werde 10, 11 und 12 nehmen. |
|
|
|
|
#4 | |
|
Grandstream-Guru
Registriert seit: 30.06.2004
Ort: am Letzenberg
Beiträge: 13.010
|
Zitat:
Meine Anerkennung! |
|
|
|
|
|
#5 |
|
IPPF-Fan
|
auch einen glückwunsch von mir, das ist wirklich ausgesrochen praktikabel und sobald ich hier ein wenig luft habe, werde ich das hier auch umsetzen. vielen dank!
__________________
Software: Asterisk 1.4.17-BRIstuffed-0.4.0-test6 auf Debian Etch Channel: chan_mobile via SGH-E720, ChanSkype, chan_zap, chan_iax2, chan_sip Hardware: AMD Geode NX, 1 x Siemens optiPoint WL2 (ge"S"t), 1x Utstarcom F1000, 1x Arcor Twintel, 1x T-Com TC-300, 1x Cistrix CT-100, 1x Giptel G100 |
|
|
|
|
#6 |
|
IPPF-Fan
|
hallo alvoip
könntest du mir sagen, wie ich da ein - unterbringe? wenn ich das versuche einzubauen, versucht asterisk immer damit zu rechnen und ich bekomme es auch nicht gequotet. viele grüße n8|
__________________
Software: Asterisk 1.4.17-BRIstuffed-0.4.0-test6 auf Debian Etch Channel: chan_mobile via SGH-E720, ChanSkype, chan_zap, chan_iax2, chan_sip Hardware: AMD Geode NX, 1 x Siemens optiPoint WL2 (ge"S"t), 1x Utstarcom F1000, 1x Arcor Twintel, 1x T-Com TC-300, 1x Cistrix CT-100, 1x Giptel G100 |
|
|
|
|
#7 |
|
IPPF-Fan
Registriert seit: 31.10.2004
Ort: Wien
Beiträge: 446
|
Dieses Problem konnte ich leider auch nicht lösen. Ich kiefelte noch wochenlang daran herum, bis ich schließlich aufgab. Damit ist meine Lösung leider nur eine Halbe geblieben.
Aber jetzt wo das Thema wieder aufgegriffen ist, kommt hoffentlich jemand mit einer Idee. |
|
|
|
|
#8 |
|
IPPF-Tausend-VIP
Registriert seit: 18.12.2005
Ort: Ingolstadt
Beiträge: 1.540
|
Ne, leider nicht.
Ich experimentiere gerade zwar damit, aber wirklich weiter komme ich auch nicht.
__________________
Router: Fritz!Box Fon WLAN 7270v3 Telefon: 1x MT-D + 1x MT-F VoIP-Anbieter: dus.net | sipgate.de | Finarea/Betamax Server: Proplay V-Server (5,99¤/Quartal) mit Asterisk 1.6.2.10 GSM-Gateway: Asterisk mit chan_datacard Anbindung: 1&1 |
|
|
|
|
#9 |
|
Grandstream-Guru
Registriert seit: 30.06.2004
Ort: am Letzenberg
Beiträge: 13.010
|
@Psycho
welchen Sinn hat es eigentlich, nach so langer Zeit eine so nichtsagende Antwort zu posten ![]() |
|
|
![]() |
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| Outlook Wählhilfe (Makro) ohne Box zu modifizieren | marcomarco | andere Software | 1529 | Heute 09:54 |
| Outlook Wählhilfe (Makro) ohne Box zu modifizieren | PacmanII | andere Software | 165 | 24.04.2006 20:07 |
| Wie mit X-Lite Buchstaben wählen ? | magifix | XLite/ XPro/ eyeBeam | 1 | 28.01.2006 10:06 |
| Wahlhilfe über Port 1011 (FritzBoxDial Makro) Verbesserung | prontoman | FRITZ!Box Fon: Modifikationen | 0 | 02.09.2005 16:42 |
| [GELÖST] X-Lite nimmt keine Buchstaben mehr an | Eifel | XLite/ XPro/ eyeBeam | 3 | 16.03.2005 20:07 |