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

Java-App zum Senden von SMS über Asterisk

Dieses Thema im Forum "Asterisk Skripte" wurde erstellt von eggman, 5 Feb. 2006.

  1. eggman

    eggman Neuer User

    Registriert seit:
    23 Apr. 2005
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 eggman, 5 Feb. 2006
    Zuletzt bearbeitet: 6 Feb. 2006
    Hallo Community,

    nachdem ich länger gesucht habe, bis ich endlich eine funktionierende Lösung fand um SMS über Asterisk zu versenden, möchte ich hier meine Ergebnisse mit Euch teilen (download unter http://www.voip-profi.net).

    Was ich herausgefunden habe:
    - Die Lösung mit dem Context "smsdial" und den zwei SMS-Befehlen darin ist deprecated und hat bei mir auch nicht richtig funktioniert (SMS ging offensichtlich raus, aber kam nie beim Empfänger an)
    - smsq hat funktioniert, aber ist nicht überall verfügbar (z.B. bei meinem Kunden).
    - smsq ist auch schlecht (zumindest unschön) in eine Java-Anwendung einzubinden.

    Deshalb habe ich eine Java-Applikation erstellt, die Standalone zu verwenden ist, aber auch in größere Java-Projekte eingebunden werden kann. Hierfür steht sowohl eine (statische) send-Methode zur Verfügung, wenn schon eine Manager Connection (siehe http://www.asteriskjava.org) besteht, oder eine send-Methode, die die Connection erst aufbaut.

    Das Programm habe ich als Source-Code und als Jar auf meine Home-Page unter Download gepackt, siehe http://www.voip-profi.net
     
  2. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    Code:
    Not Found
     The requested URL / was not found on this server.
    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. 
    Apache/df-exts 1.2 Server at www.voip_profi.net Port 80
    
     
  3. Jonny

    Jonny Neuer User

    Registriert seit:
    30 Dez. 2004
    Beiträge:
    189
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  4. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    #4 chaos2000, 5 Feb. 2006
    Zuletzt bearbeitet: 5 Feb. 2006

    Darauf hätte man auch selbst kommen können.
    Ich habe gar nicht so genau geschaut ;)


    @eggman

    bei deinem Prog gibt es wohl ein bug; Der Channel ist nicht korrekt angegeben - es wird ein "/" zu viel angehängt. Bei mir ergibt sich aus der Originalversion foldender String: CAPI/contr1//0193010

    Richtig wäre: CAPI/contr1/0193010

    Es funktioniert auch nicht das Programm auf einem anderen Rechner auzuführen, da die File local gespeichert werden.
     
  5. eggman

    eggman Neuer User

    Registriert seit:
    23 Apr. 2005
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Sorry mit dem Domänen-Namen. Ich hatte da wohl einen Dreher mit Java. Dort darf man ja keine "-" in Package-Namen verwenden, dafür aber "_". Ist auch gleich oben korrigiert.

    Das Programm habe ich gerade repariert. Sollte jetzt gehen.

    Wie unter Einschränkungen steht, brauche ich direkten Schreibzugriff in das Spool-Verzeichnis von Asterisk. Deshalb muss das Programm auf dem gleichen Rechner wie Asterisk laufen, oder du muss das Spool-Verzeichnis freigeben und dann auf Rechner, auf dem AsteriskSMS läuft verbinden bzw. mounten.

    Ich habe leider keine Möglichkeit gefunden, eine SMS zu schicken, ohne eine Datei in der Queue anzulegen. Falls jemand eine Möglichkeit kennt, werde ich die aber gerne implementieren.

    Viele Grüße,

    eggman
     
  6. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    Hallo eggman,

    es gibt noch eine Möglichkeit; Du arbeitest mit client-server-verbindungen
    Auf dem asterisk lässt du einen server laufen (das programm wie jetzt nur noch mit einer socketconnection)
    Auf clientseite brauchst du dann nur noch die daten an den server senden ;)

    wenn ich demnächst mal zeit finde, implementiere ich es mal

    cu
     
  7. eggman

    eggman Neuer User

    Registriert seit:
    23 Apr. 2005
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi chaos2000,

    die Klasse habe ich aus einem größeren Projekt herausgenommen, und die Klasse ist genau die Server-Seite auf dem Asterisk-Server, erweitert noch um die Main-Methode. Deshalb gibt es ja auch die send-Methode, die schon eine bestehende Manager-Verbindung benutzt.
    Den Client kann ich leider nicht mitliefern, da die Verbindung von anderen Teilen meines Projektes verwaltet wird. Aber du hast recht, als Client-Server Anwendung funktioniert das genau so.

    Viele Grüße,

    eggman