Avec l’aide de la communauté et de nos experts : demandez des informations, trouvez des solutions et partagez des astuces sur les offres et applications Keyyo.


Poster une réponse 
 
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Envoi de SMS (côté serveur)
RE: Envoi de SMS (côté serveur)
26/05/2016, 10:17
Message : #11
Bonjour,


J'ai revérifié ce matin, l'option est bien active sur votre ligne, et l'envoi fonctionne.

Lors de l'authentification, il est important de bien spécifier le login (numéro de la ligne) sous forme 33xxxxxxxxx, Attention également à respecter la casse et de bien vérifier qu'il 'y a pas d'espaces dans le mot de passe.

J'ai par ailleurs demandé au support d'escalader votre incident auprès de nos équipes, afin de résoudre votre problème au plus vite.
Citer ce message dans une réponse
RE: Envoi de SMS (côté serveur)
26/05/2016, 11:37
Message : #12
Bonjour,

En complément, vous pouvez, si vous le souhaitez, tester la fonctionnalité d'envoi de SMS via l'application "CallPad" sur votre PC afin de valider que l'envoi fonctionne bien depuis votre réseau.
Citer ce message dans une réponse
RE: Envoi de SMS (côté serveur)
26/05/2016, 18:38
Message : #13
Une idée comme ça... La cause ne viendrait-elle pas de la mise en place récente d'un pare-feu applicatif un peu trop restrictif ?
Ainsi les API fonctionneraient très bien sur votre réseau interne, mais les requêtes envoyées depuis un serveur distant seraient excessivement filtrées.
Citer ce message dans une réponse
RE: Envoi de SMS (côté serveur)
31/05/2016, 09:01
Message : #14
Bonjour,

Pour résumer :
Le serveur Keyyo reçoit bien les informations envoyées par le serveur utilisateur, mais retourne systématiquement un message d'invalidation d'authentification. Par contre, sur le réseau interne Keyyo, l'API fonctionne bien.
Donc l'API est défaillante à envoyer des SMS à partir d'un serveur externe au réseau Keyyo.

Si l'on prend en compte que, début décembre 2015, un utilisateur a déjà signalé l'arrêt soudain de fonctionnement de l'API avec le même message d'erreur, je suis persuadé que le problème vient d'un filtrage excessif des requêtes reçues d'un serveur distant.

Le problème proviendrait donc bien d'un pare-feu, mis en place, ou reparamétré, fin novembre 2015.
Citer ce message dans une réponse
RE: Envoi de SMS (côté serveur)
01/06/2016, 10:45
Message : #15
Bonjour,

Lors de nos tests, nous avons essayé depuis :
  • un PC sur notre réseau
  • un PC derrière une Freebox
  • un serveur de test hébergé chez OVH (ce qui semble aussi être le cas de votre serveur)

Dans tous les cas, le fonctionnement est satisfaisant.

Pour en avoir le cœur net, vous pouvez (temporairement) essayer de mettre * ou .* dans le champ regexp afin de voir si la requête passe de nouveau. Cependant il faudra retirer ce filtre juste après votre test, ce dernier autorisant toutes les adresses IPs à effectuer des requêtes avec votre compte.
Citer ce message dans une réponse
RE: Envoi de SMS (côté serveur)
01/06/2016, 14:04
Message : #16
Bonjour,

Je confirme les tests depuis un PC en renseignant son adresse publique dans le manager, donc côté client.

Ensuite, je viens de refaire le test côté serveur en remplaçant mes ip déclarées par .* et là... ça fonctionne !

Le plus étonnant, c'est que j'ai utilisé l'API avec authentification par mot de passe SIP et non par IP !
D'ailleurs, même en mettant un mot de passe erroné, ça fonctionne...

Bon, il ne me reste plus qu'à contacter OVH pour que leur support me fournisse cette mystérieuse IP que je ne suis pas parvenu à trouver (?).

Merci pour votre travail.
Citer ce message dans une réponse
RE: Envoi de SMS (côté serveur)
01/06/2016, 15:45
Message : #17
Bonjour,

Il est normal qu'en renseignant une regexp et avec un mot de passe erroné le SMS fonctionne.

Le scénario se déroule ainsi :
- Keyyo reçoit la requête (HTTP GET)
- L'adresse IP source est analysée selon le regexp renseigné :
* Si l'adresse IP correspond => La requête est exécutée.
* Si l'adresse IP ne correspond pas (ou si le regexp est vide) => On passe au contrôle de l'authentification Digest.
- Contrôle du username / password :
* Si username / password sont OK => La requête est exécutée.
* Si username / password vides ou si ils ne sont pas bons, on rejette en demandant une authentification.

Ainsi, vous pouvez "mixer" les méthodes, en autorisant par exemple un serveur de confiance via son adresse IP, et d'autres machines via l'identification username / password.

Pour rappel, dans les arguments de curl, il faut rajouter l'option -u (ou --user) comme ceci :

Code :
curl https://ssl.keyyo.com/sendsms.html?....    -u "33123456789:motdepasse"
Citer ce message dans une réponse
RE: Envoi de SMS (côté serveur)
01/06/2016, 16:55
Message : #18
Merci de cet éclaircissement car, si dans la documentation on comprend qu'il y a le choix entre deux modes d'authentification, il n'est nulle part précisé que l'IP prime sur le mot de passe.

Ceci étant, si on considère qu'aucune de mes ip déclarées ne correspond à mon serveur, l'authentification par mot de passe devrait donc fonctionner.
Hors ce n'est pas le cas.

Voici le code PHP avec l'option user:password :
Code PHP :
$account "33123456789";
$callee "33612345678";
$texte "test";
$passsip "motdepasse";
    
    
$url="https://ssl.keyyo.com/sendsms.html?ACCOUNT=".$account."&CALLEE=".$callee."&MSG=".$texte;
    
$ch curl_init();    
    
curl_setopt($chCURLOPT_URL,$url);
    
curl_setopt($chCURLOPT_HTTPAUTHCURLAUTH_DIGEST); // type d'authentification
    
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    
curl_setopt($chCURLOPT_USERPWD$account.":".$passsip); // identifiants
    
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
    
$data curl_exec($ch);
    
curl_close($ch);

    echo 
$data
Citer ce message dans une réponse
RE: Envoi de SMS (côté serveur)
02/06/2016, 11:44
Message : #19
Bonjour,

J'ai résolu mon problème.

Primo : En refaisant les tests d'IP serveur, je me suis aperçu que j'en avais oublié une, et comme par hasard, c'était la bonne.
Pour que ça serve à d'autres, la SEULE ip qui fonctionne avec la regexp est celle obtenue par envoi d'un paquet, de serveur à serveur.

Secundo : Concernant la regexp, l'IP n'est pas seulement traitée en priorité, elle est indispensable.
Sans IP renseignée dans le manager, l'authentification par mot de passe, seule, ne fonctionne pas.
Il y a donc deux niveaux d'authentification :
  • niveau 1 : authentification seulement par IP
  • niveau 2 : authentification par IP ET par mot de passe SIP.

Voilà, merci encore à l'équipe Keyyo pour votre patience, j'espère que mon expérience sera utile à d'autres utilisateurs.
Le sujet est clos.
Citer ce message dans une réponse
RE: Envoi de SMS (côté serveur)
03/06/2016, 14:08
Message : #20
Bonjour,


Pour rebondir sur votre dernier message, l'adresse IP dans le regexp n'est indispensable que pour contourner l'authentification. Si vous supprimez l'authentification de votre script, du moment que l'IP correspond, le SMS sera envoyé.

Si l'authentification est rejetée, c'est qu'il y a un souci avec le mot de passe envoyé (mot de passe incorrect). Dès lors que les identifiants sont bons, le SMS sera envoyé, même si il n'y a aucune IP de renseignée dans le regexp).
Citer ce message dans une réponse
Poster une réponse 


Aller à :


Utilisateur(s) parcourant ce sujet :

Contact | Keyyo | Retourner en haut | Retourner au contenu | Version bas-débit (Archivé) | Syndication RSS