PDA

Voir la version complète : Temps validité authentification SIP



gtasplinter
09/05/2011, 09h40
Bonjours,

J'ai un client SIP qui envoi un REGISTER et des rafraichissements de REGISTER.
Mon probleme est qu'à chaque rafraichissement asterisk ne maintient pas le NONCE sufisament longtemp pour eviter le 401 unauthorized.
Ma question est de savoir dans quel fichier je peut changer ce parametre de NONCE ou comment augmenter la validité de l'authentification.

Pour mieux expliquer :
J'ai un client sip qui demande un enregistrement avec authentification en parametre sur asterisk
Donc le client envoi un REGISTER, asterisk repond 401 Unauthorized donc le client renvoi un REGISTER (avec user et passwor..] et asterisk repond avec un 200OK donc le client est enregistré à asterisk.Mais au moment des rafraichissement de REGISTER asterisk renvoi encore une 401 Unauthorized et j'aimerai evité ça à chaque rafraichissement mais il faut que pour le 1 register il le fasse.

Merci,

Reaper
09/05/2011, 13h54
comment augmenter la validité de l'authentification.
Soit dans le sip.conf [general]
defaultexpiry=xxx ou xx nombre de secondes
Soit expiry=xxx dans le peer en question.

gtasplinter
09/05/2011, 14h34
Merci, J'ai essayé avec

defaultexpiry=60 et apres avec expiry=60 dans le peer en question.
Mais pas de changement (j'ai bien fait un reload de ma confif)
avec wireshark je vois bien que mon client reutilise le nonce avec le quel il a reussi son enregistrement mais asterisk repond 401 Unauthorized et donc mon client se réenregistre avec un nouveau nonce et ainsi de suite pour les RE REGISTER.
Pour tant ça doit etre juste un parametre à changé en seconde mais j'arrive pas à metre la main dessus.

Reaper
09/05/2011, 15h19
Mettez a 3600, c'est quoi le souci ?

gtasplinter
09/05/2011, 15h39
Pas de changement non plus.

En fet j'utilise un programme de test SIP (ims bench sipp) et je m'occupe simplement des REGISTER et des rafraichissements.
Lorsque je lance mon programme il envoi un REGISTER j'ai donc un 401 qui est renvoyé et ensuite un autre REGISTER est renvoyé donc j'ai un 200 OK venant d'asterisk. jusque là tout me va.

Mon soucis concerne les RE-REGISTER. Je souhaiterai qu'ils ne reçoient pas de 401 de la par d'asterisk (enfin par pour tous.) j'aimerai que le NONCE soit valide 3600 secondes et que donc pendant ces 3600 secondes j'ai un 200 OK directement.

Et c'est cette valeur de 3600s seconde que je n'arrive pas à metre en place.
J'espere que mon expliquation est un peu plus claire.

voilà mon sip.conf

[general]
context=interne
port=5060
realm=ims-bench.test
domain=ims-bench.test
bindaddr=0.0.0.0
disallow=all
allow=alaw
allow=ulaw
defaultexpiry=3600

[080000]
type=friend
secret=xxxxx
auth=md5
host=dynamic

Reaper
09/05/2011, 15h43
Et bien pas la peine de vous enregistrer encore une fois, parce que 3600=1h dont vous devez envoyer REGISTER toutes les heures pour que ça fonctionne.
C'est quoi la problématique derrière tout ça ?

gtasplinter
09/05/2011, 15h58
Je veux faire des testes de consomations de mémoires et CPU.
Je suis d'accord sur le principe de l'inutilité de faire des rafraichissements si fréquent pour une utilisation normal. Mais je que je souhaite c'est avoir des reponses 200 OK pendant un temps donnée (3600 secondes) à chaque RE-REGISTER que j'envoi ( un peut pret 1 toutes les 2 secondes) et pour cela il faut que le NONCE soit valide pendant ces 3600 secondes. et malgré le parametre que vous m'avez proposé je reçois toujours des 401 à tout mes REGISTER.

Reaper
09/05/2011, 16h14
Mes conseils n’était pas pour régler le nonce, mais pour contourner le problème.

Pour les tests de la mémoire il faut bien utiliser toute la chaîne d’authentification, REGISTER 401 REGISTER, sinon le test est mauvais. Je vais te donner la commande de 'sipsak' qui est capable de s’enregistrer avec le mot de passe:

/usr/bin/sipsak -U -d -n -x 3700 -C sip:3397075xxxx@83.xx.xx.xx:5060 -s sip:3397075xxxx@sip.domaine.fr:5060 -vvv -a MOTDEPASSE -H 83.xx.xx.xx.xx

En details:

-C = TON URI (ton contact)
-s = Destination (ton asterisk)
-a mot de passe de ton compte.
Pour le reste man sipsak
Donc au final tu pourra de lancer le script x times et générer x requêtes par sec.

gtasplinter
10/05/2011, 11h05
ok merci,

Si non je voudrai savoir comment faire pour ne plus recevoir de 401 d'asterisk après un REGISTER sauf pour le tout 1er.

Reaper
10/05/2011, 19h20
Aucune idée. Google.