SMS-Versand liefert nur "Fault returned from XML RPC Server, fault code 403: Invalid arguments."

112 views
Skip to first unread message

Tobias Bäumer

unread,
Aug 28, 2015, 5:03:04 AM8/28/15
to sipgate API
Hallo,

Ich habe gerade mal das API Beispiel für den SMS Versand getestet, bekomme aber immer

Successfully identified to the server!
Fault returned from XML RPC Server, fault code 403: Invalid arguments.

Kann es sein das man mit einem Trunking Account keine SMS senden kann, oder gar nicht auf die API zugreifen kann? Oder ist das Beispiel nicht mehr aktuell?


Gruß, Tobias

Jan Kammerath

unread,
Oct 25, 2015, 7:18:05 AM10/25/15
to sipgate API
Hallo Tobias,

ich habe mit meinem Trunking-Account exakt das gleiche Problem! In der Sipgate Doku steht, dass das aber auch mit Trunking funktionieren soll. :(

Stefan Buschmann

unread,
Oct 25, 2015, 7:56:31 AM10/25/15
to sipgate API
Hallo,

seit einiger Zeit scheint die XML RPC-API zumindest für das SMS-Versenden nicht mehr zu funktionieren, nachdem es jahrelang problemlos lief. Leider gab es dazu niemals irgend eine Ankündigung oder Stellungnahme von sipgate, auf meine Frage in diesem Forum habe ich leider auch keine Anwort bekommen.

Zum Glück ließ sich das Problem aber leicht durch Verwendung der neuen REST API lösen, damit geht bei mir auch der SMS-Versand problemlos, auch mit einem Basic-Account.
Die Doku ist ein wenig dürftig was konkrete Beispiele angeht, daher hier mal meine Funktion zum SMS-Versenden mit der REST API in node.js, sollte sich leicht in jede beliebige Sprache portieren lassen.

Gruß,

Stefan



function sendSMS(username, password, number, message)
{
    var postData = require('querystring').stringify(
    {
        'target':  'tel:' + number,
    //  'source':  'tel:...',
        'content': message
    });

    var options =
    {
      hostname: 'api.sipgate.net',
      port: 443,
      path: '/my/events/sms/?2.30.0',
      method: 'POST',
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Length': postData.length,
        'Authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64')
      }
    };

    var req = https.request(options, function(res)
    {
        /* ... */
    });

    req.write(postData);
    req.end();
}

Reply all
Reply to author
Forward
0 new messages