Suite et, pour l'instant, fin des essais. Résumé de ce que j'ai appris, pour qui a un Asterisk sur une ligne SFR IMS.
1. Capture d'une box SFR d'origine (NB6VAC) sur une autre ligne, 37 heures, pont Linux transparent entre l'ONT et la box, tcpdump sur les ports SIP. La box ne fait rien de spécial :
- REGISTER avec Expires: 3600, renouvelé toutes les 54 minutes, Call-ID constant ;
- aucun keepalive, pas même un CRLF ; pas d'OPTIONS, pas de SUBSCRIBE ;
- mêmes serveurs, même authentification, mêmes codecs que mon Asterisk ;
- et elle ne perd jamais ses entrants (appel reçu 13 h 36 après la dernière communication).
2. Imitation de la box, une variable par nuit, entretien suspendu, test d'appel entrant le matin au moins 20 minutes après un renouvellement :
- expiration 3600 au lieu de 300 : la première nuit a semblé réussir, mais l'appel tombait 35 s après un renouvellement. La seconde nuit : perdu. Ça ne suffit pas ;
- User-Agent de la box + même P-CSCF qu'elle (92.91.129.136, bordure tng1asbc01 au lieu de tng1asbc03) : perdu aussi.
Ce qui reste différent et que je n'ai pas testé : user=phone dans l'URI du Contact (Asterisk ne le permet pas sans patch, contact_header_params le met après le >), le port local 5060, et le profil de la ligne : la box tient sur une ligne dont la messagerie est active, la mienne est désactivée (mais je ne vois pas ce que cela pourrait changer).
3. Ce qui rétablit les entrants, constaté à chaque fois : un appel sortant DÉCROCHÉ, ou une inscription neuve. Un appel sortant non décroché ne rétablit rien (vérifié ce matin : SFR a exceptionnellement fait sonner au lieu de décrocher l'appel de la ligne vers elle-même, et la ligne est restée sourde). Donc : pas de numéro inexistant, pas de OPTIONS, pas de raccourci.
4. Deux pièges Asterisk au passage :
- Asterisk désinscrit la ligne (Expires: 0) à chaque arrêt. Juste après la réinscription, les entrants ne passent plus pendant plusieurs minutes, parfois bien plus. Après tout redémarrage, passer un appel sortant ;
- après pjsip send unregister, pjsip send register renvoie Expires: 0 ; SFR répond 403 et la ligne reste désinscrite. Redémarrer Asterisk pour repartir.
Solution en service : toutes les 2 heures, Asterisk appelle le numéro de la ligne elle-même, SFR décroche (messagerie), raccroché aussitôt, 0 seconde, rien de facturé. Trois
essais à une minute d'intervalle avant d'alerter. Depuis sa mise en place, plus un seul entrant perdu en dehors des nuits d'essai.
Si quelqu'un a une ligne SFR avec messagerie désactivée et un Asterisk, un test d'appel entrant le matin m'intéresserait beaucoup...