Stand der Dinge, SMS versenden...

Hallo IPS Gemeinde,

Was ist jetzt eigentlich Stand der Dinge, eine SMS zu versenden? Immer noch ausschließlich clickatell?
Ich hatte leider noch niemals Zeit das endlich mal umzusetzen. Aber ich brauchs jetzt dann schon dringend. Bei diversen Fehlern möchte ich nämlich sofort informiert werden. Das geht nur per SMS!

Und das senden jener? Wie löst ihr das?

Hallo,

ich bin aus verschiedenen Gründen bei Web.de im „Club“ - kostet 5.- / Monat.

Dort gibt es die Funktion Pop3.SMS. Damit verschickt man per email eine SMS. Diese email verschicke ich mit den TonisTools - klappt prima, es gibt sogar eine Bestätigung.

Für Clubmitglieder kostet das 10 CENT für alle anderen 15 Cent.

Weitere Infos: zu Web.de -> anmelden -> Neu -> SMS -> Hilfe

Gruss NBA

Hallo NBA,
Danke für deine Info.

Ich selber halte Abstand von Anbietern mit monatlicher Grundgebühr. Ansonsten aber ein sehr guter Tipp.

Ich habe mich gerade versucht bei clickatell anzumelden. Deren Registrierungshomepage muckt aber, weil meine Telefonnummer meines Handys zu lang ist. Früher hatten wir mal 7-stellige 0664’er Numern. Heute gibt auch 8-stellige. Habe hingeschrieben und warte auf Feedback.

LG Hinti

Hallo,

na einfach ein GSM-Modem nehmen…die gibts in der Bucht manchmal recht günstig. Ich habe hier ein Siemens TC35i (oder MC35i?), das wartet aber leider noch auf Verwendung - das werde ich demnächst mal einbinden (mit Prepaid-Karte).

Es geht mir in erster Linie um SMS senden aus IPS via eMail.
lg, Hinti

Ich nutze für andere Anwendungen z.B sms77. Hier gibt es unter anderem eine http-API, die man überall einbinden kann

Hallo Hinti,

ich nutze die API von developergarden, einer Initiative der Deutschen Telekom.

diese API kann

[ul]
[li]SMS[/li][li]Conference Call[/li][li]VoiceCall[/li][li]und noch ein paar Dinge[/li][/ul]die API liegt in verschiedenen Umgebungen vor, mitunter PHP :smiley:

Seitens IPS ist nur eine Extension notwendig. php_soap.dll.

Das SDK in eine Webserver-Instanz kopieren, das Beispielskript anpassen und gut ist.

Einziger Haken. Man muss sich registrieren, kann aber dann 10 SMS kostenlos in der sogenannten SANDBOX-Umgebung senden. Brauchst Du mehr kannst Du auch eine Art Prepaidkonto aufladen.

Schöne Sache nebenbei. Die API kann auch FLASHSMS senden!!!

Hier mal das angepasste Beispielskript:

<?
/*
 * Telekom ODG PHP-SDK
 * Copyright 2009 Deutsche Telekom AG
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 
/**
 * Include required classes.
 */
include_once('../webserver/odg/src/odgsdk/SmsClient.php');
echo "ODGSMSClientSample : Start
";
try
{
    $numbers = "+49-171-12345678, +49-171-7654321";
    $message = "IP-Symcon Information.

Aussentemperatur: ".GetValue(16321 /*[Terrasse\Wetterstation\Temperatur- und Feuchtigkeitssensor außen\Temperatur]*/)." C
Wohnzimmer: ".GetValue(36167 /*[Erdgeschoß\Wohnzimmer\Heizung Wohnzimmer\Temperatur]*/)." C";
//  $message = chr(utf8_encode(0xB0));
    $originator = "IPSymcon";
    // Instantiation of the SMS client:
    $smsClient = new SmsClient(
        'Benutzer',
        'Passwort',
    Environment::SANDBOX // SANDBOX, PRODUCTION, MOCK
    );
    // Send a sendSMS operation:
    $sendSmsResponse = $smsClient->sendFlashSMS($numbers, $message, $originator);
    // Check whether the sendSMS operation was successful or not.
    if('0000' == $sendSmsResponse->getStatus())
    {
        echo "The message was sent successfully
";
        echo $message;
    }
    else
    {
        echo "The sendSMS operation ended with an error. "
        ."The status of the response is: ".$sendSmsResponse->getStatus()
        .", the corresponding description message is: "
        .$sendSmsResponse->getDescription();
        exit;
    }
}
catch(SoapFault $sf)
{
    print_r($sf);
}
echo "
ODGSMSClientSample : Finish
";

Ich hab für die 2.2 mal ein Modul gebaut, welches direkt Clickatel ansprechen kann. (Die sind übrigens günstiger als alle anderen Anbieter die ich noch gesehen hatte. (z.b. 4,4cent zu D1) Und sie versenden Weltweit)

paresy

Hallo Paresy, welche Art von Clickateltool ist das dann?
Ich brauch die Info wegen anmelden bei Clickatel:

Für was muß ich mich denn bei Clickatell anmelden?

  1.  SMTP [E-mail to SMS] API, oder
    
  2. HTTP/S API, oder
    
  3. FTP API, oder
  4. SMPP API         etc etc

Es ist die SOAP API. Du kannst die API auch hinterher noch im Kundenbereich kostenlos hinzufügen.

paresy

Hallo paresy,

du sagtest:

Kannst Du mir bitte sagen wie Du das gemacht hast? Ich bin bei clickatell registriert allerdings im Moment nur über den Communicator - also Browser Benutzung. Ich konnte leider keine Möglich keit finden für mich die SOAP API hinzuzufügen.

Danke schon mal und eine wunderschöne Vorweihnachtszeit

Gruss babba

Hi babba,
Du mußt dich auf „Clickatell Central (API)“ anmelden. Das ist kostenlos. Bist du erstmal registriert und hast deinen Account aufgeladen, dann kannst du Kinderleicht in „Manage My Products“ die Funktion „Add Connection… SOAP“ auswählen :slight_smile:

PS: clickatell ist wirklich ne coole und auch günstige Sache. Ich verwende es seit kurzer Zeit und schicke mir andauernd SMS’es. Jetzt muß ich mir dann bald mal nur mehr die wichtigen Infos senden, sonst muß ich schon wieder Balances aufladen g

Hallo Hinti,

Danke für Deine Antwort - hat auch bestens geklappt.

Ich nutze schon etliche Jahre clickatell - das hatte mir der Jürgen beim letzten IPS-Treffen empfohlen - jedoch bisher nur über den Communicator, d.h. von jeden Computer der am Netz hängt kann man über ein WEB-Interface SMS versenden, was auchich häufig nutze - nun noch das SMS-Modulin IPS - einfach traumhaft :loveips:

Ich hatte nur gehofft, dass ich mein bisheriges Guthaben auf beiden Accounts nutzen kann, was wohl nicht geht :frowning:

Hast Du rund um das Modul schon ein paar scrips ‚verwurstet‘ - mir fehlt im Moment der Ansatz.

Dir eine schöne Weihnachtszeit und Gruss aus Wiesbaden

babba

Hallo wgripl,

könntest du die Einrichtung der SDK aus demdevlopergardenetwas genauer erklären, wäre Klasse. Was muss wo hin und wie angepasst werden.

Nachdem ich mich nun angemeldet habe bekomme ich nun die folgende Fehlermeldung:

ODGSMSClientSample : Start

Fatal error: Class ‚SoapClient‘ not found in C:\IP-Symcon\webfront\smsclient\DG\src\webservice\SmsService.php on line 69

Gruß KH

Hallo KH,

2 Fragen.

[ol]
[li]Hast Du die php_soap.dll Extension in den /ext-Ordner kopiert[/li][li]Poste doch mal dein IPS-Testskript[/li][/ol]Dann sehen wir weiter.

Also vor allem für die Österreicher hier, aber eigentlich für alle Nummern weltweit könnte ich günstig ein SMS-Modul via Handywelt.at anbieten.

läuft bei mir im Test.

lg, christian

Hallo wgreipl,

die php_soap.dll befindet sich im /ext-Ordner.
Hier ein Scriptauszug. Ich habe deines kopiert und den Pfad angepasst(???) die Mobilfunkrufnummer, die Message und die Zugangsdaten.


/**
 * Include required classes.
 */
 
include_once('../Webfront/smsclient/DG/src/SmsClient.php');
echo "ODGSMSClientSample : Start
";
try
{
    $numbers = "+49-160-1234567";  //, +49-171-7654321"
    $message = "IP-Symcon Test";
//  $message = chr(utf8_encode(0xB0));
    $originator = "IPSymcon";
    // Instantiation of the SMS client:
    $smsClient = new SmsClient(
        'xxxx',
        'xxxx',
    Environment::SANDBOX // SANDBOX, PRODUCTION, MOCK
    );

Gruß KH

Hallo KH,

mir kommt der der Pfad zu dem SDK ein wenig seltsam vor.

include_once('../Webfront/smsclient/DG/src/SmsClient.php');

Wenn Du den Pfad „smsclient/DG“ selbst angelegt hast dann sollte darunter eigentlich ein

src/odgsdk/SmsClient.php

auftauchen.

Da ich deine Ordnerstruktur nicht kenne kann ich nicht mehr darüber sagen.

Hallo wgreipl,

ich bin ein Stück weitergekommen, allerdings habe ich die nächste Fehlermeldung:

Fatal error: Call to undefined function mhash() in C:\IP-Symcon\webfront\smsclient\DeveloperGarden_2.5.3_PHP\src\Telekom\STS\SecurityTokenSaml2Impl.php on line 721

Ich habe dann mal im developergarden gesucht und die dort aufgeführten dlls eingefügt

Ich habe die dll´s php_mcript, php_mhash, php_openssl und php_soap im IPS-Ordner \ext, sowie auch unter Windows im System- sowohl als auch im systen32-Ordner eingefügt.

Zur Ordnerstruktur:
Habe ich gelöscht und neu angelegt und entpackt. Die Struktur wie im Script von wgreipl wird bei mir nicht angelegt. Unter \webfront habe ich einen Ordner \smsclient angelegt und dort den DeveloperGarden_2.5.3_PHP entpackt. Sieht dann so aus C:\IP-Symcon\webfront\smsclient\DeveloperGarden_2.5.3_PHP\src.

Müssen irgendwelche dlls noch eingefügt werden? Oder liegt es daran dass ich über einen Router rausgehe?

Gruß KH

Langsam bekommen wir die Sache ans laufen.

Nächste Frage. Welche IPS-Version benutzt Du. Allem Anschein nach noch eine Version < 2.2 da werden crypt und hash nicht mehr gebrauch. Und sorry, die openssl hatte ich vergessen zu erwähnen :rolleyes:

Wie gesagt nun stellt sich die Frage welche IPS-Version Du nutzt.