mysipswitch.com - alternative???

Status
Für weitere Antworten geschlossen.

DocMAX

Neuer User
Mitglied seit
21 Aug 2008
Beiträge
129
Punkte für Reaktionen
0
Punkte
16
hallo,
ich suche einen alternativen SIP forwarding service zu mysipswitch.com.
bei mysipswitch.com kommt nämlich immer so eine blöde ansage dass "sie verbunden werden" und eine mailbox, die man nicht abschalten kann.

habe bisher nur pbxes.com gefunden. hab aber nix auf die reihe bekommen dort...

danke für eure hilfe im vorraus...
 
ok hat sich erledigt. habe pbxes einrichten können.. ist aber echt kompliziert gewesen...
 
Ich finde mySIPswitch im Vergleich zu PBXes deutlich komplizierter (allerdings ist mySIPswitch auch sehr viel flexibler). Ein mySIPswitch-Nachfolger wird m.W. in Kürze kommen.
 
der nachfolger von mysipswitch.com ist sipsorcery.com.
man muss sich tatsächlich erst einmal etwas mit der sache auseinander setzten um einen der beiden services erfolgreich zu nutzen. weiß man aber erst mal wie geht, kann man sehr flexible sachen machen damit.

von pbxes.org kann ich nur abraten. ich habe das früher auch mal verwendet. ich hatte meinen eltern dann beim einrichten ihres pbxes.org accounts geholfen. die folge war, dass ihr account nach ca. 1,5 monate ohne vorwarnung vor allem ohne wirkliches grund gelöscht wurde. es gab keine kontaktmöglichkeit. selbst auf ein fax an den betreiber erfolgt keine reaktion.

später hatte ich nochmal eine freundin mit ihrem account beim einrichten unterstützt. und wieder kam es zu einer unangekündigten accountlöschung. diesmal war es mein inzwischen in viel detailarbeit konfigurierter account der deaktiviert wurde. um an meine daten zu kommen, hätte ich ein abo abschließen müssen. ich würde das nötigung nennen.

pbxes.org ist nach meiner erfahrung ein extrem willkürlicher anbieter, bei dem jede kommunikation, für nicht zahlende nutzer unmöglich ist. man darf nicht mal im forum posten. sowas ist einfach nur gefährlich. es gibt somit keine möglichkeit gegen die willkür von herrn dr. pascal merle vorzugehen. (naja, eine abmahnung durch einen wettbewerber wäre vielleicht noch ein weg, der funktionieren könnte. schließlich ist es ein kommerzieller anbieter, der durch seine -erst mit einem gratis angebot kunden werben - dann diese unangekündigt zu bezahldiensten geradezu zu nötigen- methode, andere seriöse kommerzielle wettbewerber unverhältnismäßig benachteiligt.)

ich verstehe durchaus dass es schwierig ist für ein einmannunternehmen gratisdienste anzubieten. aber hier werden gratisdienste angeboten um zahlende kunden zu gewinnen. bei solch einer konstellation muss auch das gratisangebot seriös sein. ansonsten kann man es eben nicht anbieten. dann fiele nämlich auch die werbewirkung durch das gratisangebot weg...
 
Zuletzt bearbeitet:
Die Anmeldung war kein Problem, aber dann...

Wo ist das Problem?

Vom Prinzip funktionieren die Wahlregeln (per Ruby) genau so wie unter mysipswitch.

@Stiefel

warst du nicht eigentlich der "sipswitch-Experte"?
 
Zuletzt bearbeitet:
warst du nicht eigentlich der "sipswitch-Experte"?
Experte? Wohl kaum, aber ich habe mich da erfolgreich durchgekämpft, allerdings nicht in Ruby, sondern mit dem alten Syntax, der an Asterisk angelehnt ist. Irgendwie hab ich den Aufbau von sipsorcery.com noch nicht verstanden, bekomme das aber bestimmt noch gebacken. Auch habe ich noch nicht herausgefunden, ob und wie man den alten Syntax in sipsorcery noch nutzen kann.

Muster-Ruby-Dialplans (in- und outbound) hab ich bislang auch noch nicht gefunden. :gruebel:
 
Auch habe ich noch nicht herausgefunden, ob und wie man den alten Syntax in sipsorcery noch nutzen kann.

Also ich war so frei und habe Dein Beispiel (ENUM via Sipbroker) in Ruby-Syntax umgeschrieben. Voraussetzung ist, in der Fritte existiert eine Wahlregel mit "000" soll über sipsourcy gewählt werden:

Code:
#Ruby
# SIP tracing : true or false
sys.Trace = false

case req.URI.User
     when /^000*/ then sys.Dial("${dst:3}@sipbroker.com")
     when /^000/ then sys.Dial("*013${dst:3}@sipbroker.com")
end

Der alte Code soll noch funktionieren, wenn man bei der Option "Script Type" "Extension" auswählt (siehe roter Kreis im Bild).
 

Anhänge

  • sipsorcery.JPG
    sipsorcery.JPG
    57.1 KB · Aufrufe: 17
Ich habe mich auch mehr als 2 Tage Fulltime damit auseinander gesetzt und mir nen dailplan Stück für Stück, mit viel Trail & Error zusammengebaut.

Eine übersichtliche Wiki Anleitung, dass ist wirklich das was Sipsorcery.com fehlt. Aber andererseits, würde dies wohl auch die Einstiegshürde stark absenken. Die Folge wären mehr Nutzer. Vielleicht so viele, dass es kostenloser Service nicht mehr tragbar wäre...

Ein paar Infos zu den Ruby dailplans findet man in speziellen postings im Mysipswitch Forum.
Ansonsten hier noch ein paar Links:
Erklärung eines Beispiels:
http://www.mysipswitch.com/wordpress/index.php/2008/08/the-default-ruby-dial-plan-demystified/

Auflistung von verfügbaren Modulen (Befehlen):
http://www.mysipswitch.com/forum/viewtopic.php?t=139&postdays=0&postorder=asc&start=37

Weitere:
http://www.mysipswitch.com/forum/viewtopic.php?t=399

Noch ein Beispiel mit Erklärung:
http://www.mysipswitch.com/forum/viewtopic.php?t=139&postdays=0&postorder=asc&start=28

Genau genommen stammen all diese Links aus folgendem Posting:
http://www.mysipswitch.com/forum/viewtopic.php?t=139
 
Hier ist zur Erstellung eines ersten Ruby-Dialplans der s.g. Ruby-Wizard zu finden.

Bislang war im Ruby-Dial Plan sowohl Inbound, als auch Outbound definiert, bei sipsorcery sind diese Dialpläne jetzt dann wohl getrennt, korrekt? Oder auch weiterhin Inbound und Outbound in einem Dialplan sein?

@Lutz: Kannst evt. Deine Dialpläne als Muster mal zur Verfügung stellen?
@kai66: wofür steht das "sys.Trace = false" ?
 
@kai66: wofür steht das "sys.Trace = false" ?

Damit kann man ein- und ausschalten, ob Trace-Informationen erzeugt werden sollen. Sollen welche erzeugt werden, so werden diese per E-Mail an dich versendet, sofern du in dem Feld "Trace Email Adress" eine E-Mailadresse angegeben hast (siehe mein Screenshot direkt über dem rot markiertem Bereich).

Die Trace-Informationen können auch über die Console (Link Console auswählen) eingesehen werden. Das Aktivieren der Console ist in der Hilfe beschrieben. Hier der relevante Auszug:

Code:
1. Click the connect button,
2. Once the username prompt appears type your username into the text box at the bottom of the screen and press enter,
3. Once the password prompt appears type your password into the text box at the bottom of the screen and press enter,
4. Once the password prompt appears type your password into the text box at the bottom of the screen and press enter,
5. once the filter prompt appears type event * to get summary log messages or event full to get a full SIP trace,
6. Press s at anytime to stop the logging and repeat step 5.
 
Zuletzt bearbeitet:
Ich hab mich gestern mal ausführlicher mit Ruby-Dialplänen beschäftigt und eigentlich ist's gar nicht so schwer.

@Lutz: Danke für die Links.
 
@Lutz: Kannst evt. Deine Dialpläne als Muster mal zur Verfügung stellen?
Der ist recht komplex & und enthält viel das vermutlich nur für mich Sinn macht. Er ist auch nicht unbedingt konform zu üblichen Standards. Ihn detailliert zu erklären wäre mir jetzt ehrlich gesagt zu aufwendig.
Wer's trotzdem versuchen will, hier ist er. (Ich hoffe er stiftet nicht mehr Verwirrung als er nutzt.)

Ein paar Vorworte doch noch: Provider1 - 3 sind die Namen der angelegten Provider. Provider1 ist bei mir einer mit Festnetzflat. Wenn Anrufe eingehen, werden die gleichzeitig in 2 Richtungen geroutet: Auf meine Genion-Festnetznummer (01234567) & auf die SIP Geräte, die alle am gleichen SIPsorcery Account hängen und somit alle gleichzeitig klingeln. Die Auswahl, was angerufen werden soll, habe ich unter #Voreinstellungen in die Variable ringOnCallIN gepackt.

Mit 0 oder 000, kann ich meinen eigenen Anschluss anrufen. Weiterhin habe ich die Kurzwahlen 1-5 bzw. 111-555 definiert. Ursprünglich hatte ich nur einstellige Kurzwahlen festgelegt. Musste dann aber feststellen, dass manche Endgeräte Nummer, die nur aus einer Ziffer bestehen nicht wählen (oder intern auswerten wollen). Also habe ich als Alternative für diese Geräte noch 3 stellige Pendants dazu angelegt...

Ich habe ihn hier der übersichtlichkeit wegen, in zwei fenster (IN & OUT) aufgeteilt. Beide Teile direkt hintereinander kopiert ergeben also den Dailplan. Die oben definierte Variable ringOnCallIN wird auch unten angewendet. Wenn man die Pläne getrennt ablegen will, müßte man diese im 2 Dailplan also auch nochmal definieren.

Code:
# SIP tracing : true or false
sys.Trace = false

sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}.")

# Voreinstellungen

ringOnCallIN = "01234567@Provider1&#{sys.Username}@local"    # Welche Telefone sollen klingeln bei eingehenden Anrufen & bei interner Wahl von 0 bzw. 000

if sys.In then

 # Do your INCOMING call processing customisations here.
     if sys.IsAvailable() then         # wenn Geräte registriert sind
         sys.Dial(ringOnCallIN,60)  # Ruft die unter Voreinstellungen gewählten Telefone für 60 Sek.
         sys.Respond(480, "#{sys.Username} Nicht erreichbar!") #Danach wird die Sipmeldung 480 generiert.
     else              # wenn keine Geräte registriert sind (z.B. bei DSL Ausfall)
         sys.Dial("01234567@Provider1",60)
         sys.Respond(480, "#{sys.Username} Not available")
     end
 
 else
Code:
  # Do your OUTGOING call processing customisations here.

  # Als erstes einige Umformungen & die Behandlung von Sonderfälle

        digitsOnly = req.URI.User.gsub(/(%20)*(%23)*/,"") # Leerzeichen (%20) aus der gewählten Adresse werden für die Hilfsvariable digitsOnly entfernt
        digitsOnly = digitsOnly.gsub(/(\D)*/,"")          # Nur den Ziffernanteil aus der Adresse wird ermittelt. Macht aus "(030)-233345": 030233345
        case req.URI.User when /^[1-9](\d{8,12})\z/ then req.URI.User=digitsOnly="00"+digitsOnly end  # Erkennt falls Rufnummern im Format +49xxxxxxxxx, aber ohne das führende + übermittelt werden (Fritzbox mach so etwas). In diesem Fall wird die Nummer zu 0049xxxxxxxxx umgewandelt.

     case req.URI.User  

   # Regeln für manuelles Callrouting call-by-call-artig mit Vorvorwahlen

         when /^00001/ then sys.Dial("${dst:5}@Provider1") # Manuelles rauswaehlen ueber Provider1 durch vorwaehlen von 00001
         when /^00002/ then sys.Dial("${dst:5}@Provider2") # Manuelles rauswaehlen ueber Provider2 durch vorwaehlen von 00002
         when /^00003/ then sys.Dial("${dst:5}@Provider3") # Manuelles rauswaehlen ueber Provider3 durch vorwaehlen von 00003
         when /^\*1/ then sys.Dial("${dst:2}@Provider1")   # Manuelles rauswaehlen ueber Provider1 durch vorwaehlen von *1
         when /^\*2/ then sys.Dial("${dst:2}@Provider2")   # Manuelles rauswaehlen ueber Provider2 durch vorwaehlen von *2
         when /^\*3/ then sys.Dial("${dst:2}@Provider3")   # Manuelles rauswaehlen ueber Provider3 durch vorwaehlen von *3

   # Eigene definierte Kurzwahlen (nicht die DUS (Provider2) Kurzwahlen, sondern hier selbst definierte)

        when /(^0$)|(^000$)/ then sys.Dial(ringOnCallIN)              # Internruf mittels 0 oder 000 (wie Anruf von Aussen)
        when /(^1$)|(^111$)/ then sys.Dial("030123456@Provicer2")     # Eltern mittels 1 oder 111
        when /(^2$)|(^222$)/ then sys.Dial("03045676@Provider3", 40)  
                                                  sys.Dial("01790000@Provider2", 25)  # Freundin1 erst Zuhause per VOIP, dann Mobil
        when /(^3$)|(^333$)/ then sys.Dial("01234567@Provider1")      # Meine Genion Nummer
        when /(^4$)|(^444$)/ then sys.Dial("03076543@Provider1&03098654@Provider1")   # Freundin2 Genion & Festnetz gleichzeitig
        when /(^5$)|(^555$)/ then sys.Dial("0049177000000@Provider2") # Der Paketabholer mittels 5 oder 555
  
   # Regeln für automatisches Callrouting basierend auf der Rufnummer

        when /^([2-9][01-9][01-9]|[1-9][01-9]|[1-9])$/ then sys.Dial(digitsOnly+"@Provider2")   # Matched DUS (Provider2) Kurzwahlen & routed ueber DUS
        when /^([2-9]).*/ then sys.Dial("004930"+digitsOnly+"@Provider1")     # Matched lokale Nummern ohne Vorwahl & routed mit Vorwahl ueber Provider1
        when /^(0900|0049900|\+49900|0137|0049137|\+49137).*/ then sys.Respond(403, "Verbotene Nummer!")  # Matched 0900 & 0137 und antwortet mit Verboten.
        when /^([2-9]|0[2-9]|0049[2-9]|\+49[2-9]).*/ then sys.Dial(digitsOnly+"@Provider1")  # Matched dt. Festnetz & routed ueber Provider1
        when /^(015|016|017|004915|004916|004917|\+4915|\+4916|\+4917).*/ then sys.Dial(digitsOnly+"@Provider3")  # Matched dt. Mobilfunk & routed ueber Provider3
        when /^(00[1-9]).*/ then sys.Dial(digitsOnly+"@Provider3")  # Matched Auslandsgespräche & routed ueber Provider3
  
else  sys.Dial(digitsOnly+"@Provider2")   # Matched alle anderen & routed ueber Provider2
end
 
end
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
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.