Die SIP<->ISDN Telefonanlage

yuraukar

Neuer User
Mitglied seit
23 Feb 2005
Beiträge
92
Punkte für Reaktionen
0
Punkte
0
Ich würde diesen Thread gern nutzen, um den Rufnummernplan (ggf. auch sonstige config) für eine SIP<->ISDN Telefonanlage zusammenzustellen. Es gibt eine Menge Informationen in einzelnen Threads, aber ich habe Probleme, das zu einem funktionierenden Ganzen zusammenzufügen.

Vielleicht hilfts ja auch anderen.

Die Aufgabenstellung:
Via Asterisk soll die Funktionalität einer ISDN-Telefonanlage zur Verfügung gestellt werden. Nach aussen soll (vorerst ausschliesslich) per ISDN telefoniert werden, während innen alle SIP-Telefone haben. Zum Einsatz kommt ein Mehrgeräteanschluss, Rechner mit AVM!Fritz Card und asterisk.

Folgende Funktionen sollen realisiert werden:
- einzelne Teilhemer sollen von aussen direkt mit ihrer jeweils eigenen MSN erreichbar sein
- bei besetzt oder nicht da soll die Mailbox drangehen
- Gespräche müssen intern weitergegeben werden können ("ich gebe sie mal weiter an ...")
- Konferenzschaltungen sollen möglich sein ("ich nehmen mal den ... dazu")
- Teilnehmer sollen per Telefon Ihre Rufnummer umleiten können (über die ISDN-Weiterleitung, nicht via Asterisk)
- eine zentrale Nummer soll bei allen (oder mehreren) klingeln
- jeder soll nach aussen via ISDN telefonieren können
- Teilnehmer sollen per Telefon ihre Mailbox abrufen können (sowohl intern, als auch von extern...)
- allen soll ein gemeinsames Telefonbuch zur Verfügung stehen. Anhand diesen kann gewählt werden und bei eingehenden Anrufen wird der Name angezeigt (vorzugsweise LDAP(?))

Also... an die Arbeit
 
Erste Schritte zur Vorbereitung:
=> CAPI für AVM installiert
=> Asterisk installiert
=> chan_chapi-cm 0.5.4 installiert (chan_capi 0.3.5 funktionierte hier mit aktuellem Asterisk nicht)
=> XLite als SIP-Telefonersatz auf zwei Rechnern installiert

SIP.conf editiert:
Zwei SIP User "user1" und "user2"
Code:
[user1]
type=friend
callerid="Testuser1" <1234>
secret=u1
host=dynamic 
disallow=all
allow=gsm
allow=ulaw
allow=alaw

[user2]
type=friend
callerid="Testuser2" <5678>
secret=u2
host=dynamic 
disallow=all
allow=gsm
allow=ulaw
allow=alaw

Keine Beschwerden.

Eine kurze extensions.conf zum Test:
Code:
[default]
exten => 1234, 1, Dial(SIP/user1)
exten => 1234, 1, Dial(SIP/user2)

exten => h,1,Hangup

Erfolg: user1 kann via 1234, user2 via 5678 angerufen werden.
 
Schritt 1: einzelne Teilhemer sollen von aussen direkt mit ihrer jeweils eigenen MSN erreichbar sein

MSNs sind 9991234 für user1 und 9995678 für user2.

In der capi.conf steht derzeit context=capi-in für eingehende Anrufe und die Karte lauscht auf alle MSNs

Also extensions.conf
Code:
[capi-in]
exten => 9991234, 1, Dial(SIP/user1)
exten => 9994567, 1, Dial(SIP/user2)

exten => h,1,Hangup

[default]
exten => 1234, 1, Dial(SIP/user1)
exten => 1234, 1, Dial(SIP/user2)

exten => h,1,Hangup

Erfolg: user1 kann per ISDN unter 9991234 und user2 per ISDN unter 9995678 angerufen werden.


Hier stellt sich aber eine Frage nach der Verbesserung.
Schöner wäre ja, wenn das Handling für eingehende Anrufe per pattern zentral geregelt würde. Wie aber erfolgt hierbei die Umsetzung von 9991234 auf user1, etc.??

exten => _.,1,Dial(SIP/?was hier?)

Eine Möglichkeit wäre die SIP accounts so zu nennen wie die Telefonnummern, dann könnte man wohl per

exten => _.,1,Dial(SIP/${ARG1})

den Dialplan machen. Ist aber nicht so elegant finde ich.

Hat hier jemand eine Ideee? Wie macht man das?
 
Schritt 2: bei besetzt oder nicht da soll die Mailbox drangehen

(kommt noch)
 
Schritt 3: Gespräche müssen intern weitergegeben werden können ("ich gebe sie mal weiter an ...")

Keine Ahnung wie das gehen soll => Hilfe!
 
Schritt 4:Konferenzschaltungen sollen möglich sein ("ich nehmen mal den ... dazu")

Keine Ahnung wie das gehen soll. MeetMe ist wohl das Stichwort, aber ich verstehe nicht, wie man das aus einem aktiven Telefonat macht => Hilfe
 
Schritt 5: Teilnehmer sollen per Telefon Ihre Rufnummer umleiten können (über die ISDN-Weiterleitung, nicht via Asterisk)

Das Stichwort ist Call Deflection, realisiert über die Funktion capiCD.

Ein Beispiel zuerst:
Kommt ein Anruf auf einer bestimmten Nummer, so kann ihn Asterisk sofort weiterleiten - ohne damit zwei Kanäle zu belegen:

Code:
exten => 9991234, 1, Wait(1)
exten => 9991234, 2, capiCD(01719991234)
exten => 9991234, 3, Hangup

Nun sollte man das so einrichten, das Benutzer das per Telefon ein und ausschalten können. Der Trick ist, bei einer aktiven Weiterleitung in der asterisk Datenbank die Nummer an die Weitergeleitet werden soll abzuspeichern. Kommt ein Anruf an, so wird geschaut, ob eine Weiterleitung existiert.

Code:
[default]
; mit *5xxxxxx kann man eine Weiterleitung aktivieren
; wir speichern die Nummer unter der CALLERIDNUM
exten => _*5X.,1, DBPut(CF/${CALLERIDNUM}=${EXTEN:2})
exten => _*5X.,2, Hangup

; mit *5 kann man eine Weiterleitung löschen
; wir löschen die Nummer unter der CALLERIDNUM
exten => _*5,1, DBdel(CF/${CALLERIDNUM})
exten => _*5,2, Hangup

[capi-in]
exten => _.,1,Wait(1)
; prüfen, ob eine Weiterleitung für die extension existiert
exten => _.,2,DBget(temp=CF/${EXTEN})
exten => _.,3,GotoIf($["${temp}" = ""]?4:10)
; keine Weiterleitung, also anrufen
exten => _.,4,Dial(SIP/?hier war noch ein problem aus schritt 1?,20)
exten => _.,5,Hangup
; eine Weiterleitung machen
exten => _.,10,capiCD(${temp})
exten => _.,11,Hangup

exten => h,1,Hangup

Frage 1: kann man dem SIP-Telefon signalisieren, dass eine Weiterleitung exisitiert?

Frage 2: kann man statt capiCD auch eine permanente Weiterleitung einrichten, so dass die Anlage einen Anruf nicht mal mehr mitbekommt?
 
Schritt 6:eine zentrale Nummer soll bei allen (oder mehreren) klingeln

(kommt noch)
 
Schritt 7: jeder soll nach aussen via ISDN telefonieren können

Bei jeder sonstigen Nummer nehme ich an, dass nach draußen telefoniert werden soll - das spart eine 0 oder sonstige Vorwahl:

Code:
[default]

...

exten => _.,1,Set(CALLERID(number)=9991234)
exten => _.,2,Dial(Capi/contr1/b${EXTEN},,)
exten => _.,3,Hangup

Die abgehende MSN ist hier immer 9991234.
(Achtung: die Dial-Syntax für CAPI ist bei den verschiedenen chan_capi und chan_capi-cm Versionen unterschiedlich.)

Zwei Fragen zu Verbesserungen:
1. kann man die abgehende MSN abhängig vom Wählenden festlegen?
2. muss man noch Einträge für alle Leitungen belegt, Anrufer besetzt, timeout usw machen oder reicht das?
 
Schritt 8: Teilnehmer sollen per Telefon ihre Mailbox abrufen können (sowohl intern, als auch von extern...)

Hier legt man einfach eine Telefonnummer fest, die ins Voicemail-Menü führt:

Code:
[default]
exten => 9999,1,VoiceMailMain

Dann kann man 9999 wählen und seine Voicemail-Nr, sowie das Voicemail-Pass"wort" eingeben und die Nachrichten abhören.


Alternativ, weiss jemand, wie man dass so macht, dass der Benutzer gleich an seine Voicemail weitergeleitet wird, also
exten => 9999,1,VoiceMailMain(?? CALLERID oder so??)
 
Schritt 9: allen soll ein gemeinsames Telefonbuch zur Verfügung stehen. Anhand diesen kann gewählt werden und bei eingehenden Anrufen wird der Name angezeigt (vorzugsweise LDAP(?))
 
Fuhrst Du eigentlich oft Selbstgespräche? Erwartest Du Antworten auf Deine Fragen? Vielleicht solltest Du den Usern hier al zeit geben, zu antworten, bevor Du weiterpostest! Und wenn du sowieso nur wenig Ahnung von Asterisk hast, dann solltest Du vielleicht erst mal Schritt für Schrit vorgehen. Rom ist auch nicht in einem Tag erbaut worden.
Außerdem sind viele Deiner Fragen hier schon einmal beantwortet worden. Einfach mal suchen!
 
Jede Hilfe ist wilkommen! Ich suche ja parallel auch weiter und versuche die einzelnen Schritte zu vervollständigen.

Am Ende würde ich mir eine zusammenhängende Konfiguration wünschen. Ich bin mir bewusst, dass einige Fragen schon beantwortet sind, aber ich versuche das mal zu einem Ganzen zusammenzuziehen.

Ist das eine so schlechte Idee?
 
yuraukar schrieb:
Jede Hilfe ist wilkommen! Ich suche ja parallel auch weiter und versuche die einzelnen Schritte zu vervollständigen.

Am Ende würde ich mir eine zusammenhängende Konfiguration wünschen. Ich bin mir bewusst, dass einige Fragen schon beantwortet sind, aber ich versuche das mal zu einem Ganzen zusammenzuziehen.

Ist das eine so schlechte Idee?

Finde ich gar nicht so schlecht, da so wie ich auch bestimmt andere ein ähnliches Szenario aufsetzen.

Wobei mein Strategie eingehende ISDN Anrufe grundsätzlich auf Voip umleiten soll, um so die Anzahl der eingehenden Leitung auf > 2 zu erhöhen (bei ISDN sind ja nur 2 Leitungen) und dabei trotzdem die ISDN Nummer als zentrale Rufnummer beizubehalten. Der Nebenefekt: Beide ISDN Leitungen bleiben für ausgehende Gespräche frei. Ich nehme an, der Voip Provider müsste dabei das AIX Protokoll unterstützen.
 

Zurzeit aktive Besucher

Neueste Beiträge

Statistik des Forums

Themen
244,872
Beiträge
2,219,909
Mitglieder
371,594
Neuestes Mitglied
AA-Idealbau
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.