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

Die SIP<->ISDN Telefonanlage

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von yuraukar, 11 Aug. 2005.

  1. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    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
     
  2. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  3. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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?
     
  4. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Schritt 2: bei besetzt oder nicht da soll die Mailbox drangehen

    (kommt noch)
     
  5. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Schritt 3: Gespräche müssen intern weitergegeben werden können ("ich gebe sie mal weiter an ...")

    Keine Ahnung wie das gehen soll => Hilfe!
     
  6. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  7. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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?
     
  8. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Schritt 6:eine zentrale Nummer soll bei allen (oder mehreren) klingeln

    (kommt noch)
     
  9. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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?
     
  10. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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??)
     
  11. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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(?))
     
  12. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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!
     
  13. yuraukar

    yuraukar Neuer User

    Registriert seit:
    23 Feb. 2005
    Beiträge:
    92
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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?
     
  14. ccanet

    ccanet Neuer User

    Registriert seit:
    3 Jan. 2006
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.