Bonjour à tous, Vu qu'on c'est bientôt les vacances et qu'on ne coupera pas les appels de suite, voici ma PR concernant les tests de vérification stir and shaken, ces tests suivent le doc MAN_Mode_operatoire_Mecanisme_de_Confiance_v1.7_20230616.pdf (page 59) Ils utilisent SIPssert (l'outil de test unitaire développé par OpenSIPS, et bien entendu OpenSIPS lui-même). Comme je l'avais déjà expliqué, il y a pas mal de changements à réaliser pour se rendre compliant avec le MAN, mais cette configuration ( stir_shaken_verify.cfg) devrait couvrir 80% des reco du MAN.
lien vers la PR: https://github.com/OpenSIPS/sipssert-opensips-tests/pull/5 lien de la branche du repo source: https://github.com/Mickaelh51/sipssert-opensips-tests/tree/stir_and_shaken_verify pour chaque scénario, vous avez une petite doc: Ex: - https://github.com/Mickaelh51/sipssert-opensips-tests/blob/stir_and_shaken_verify/stir-shaken/11.verify-error-436-no-info/README.md - https://github.com/Mickaelh51/sipssert-opensips-tests/blob/stir_and_shaken_verify/stir-shaken/07.verify-error-400-wrong-from-no-kill-call/README.md Celle-ci vous indiquera aussi de quelle ligne du tableau des erreur sip il s'agit: *Test from MAN_Mode_operatoire_Mecanisme_de_Confiance_v1.7_20230616.pdf (P59 / line 5)* j'utilise toujours la même configuration qui se trouve ici: https://github.com/Mickaelh51/sipssert-opensips-tests/blob/stir_and_shaken_verify/stir-shaken/04.verify-200/stir_shaken_verify.cfg Pour ceux qui utilisent ou voudraient utiliser OpenSIPS, n'hésitez pas à participer, pour le moment il y a 26 tests: 01.auth-simple 02.auth-diverted-cached 03.auth-issue-bypass-token 04.verify-200 05.verify-200-anonymous 06.verify-error-400-wrong-from 07.verify-error-400-wrong-from-no-kill-call 08.verify-error-403-wrong-date 09.verify-error-403-wrong-iat 10.verify-error-428-no-identity 11.verify-error-436-no-info 12.verify-error-436-token-no-4-params 13.verify-error-436-x5u-diff-info 14.verify-error-437-no-alg 15.verify-error-437-wrong-alg 16.verify-error-437-wrong-header-alg 17.verify-error-437-wrong-header-typ 18.verify-error-437-cert-expired 19.verify-error-437-cert-in-future 20.verify-error-438-identity-more-4-params 21.verify-error-438-no-ppt 22.verify-error-438-wrong-ppt 23.verify-error-438-wrong-header-ppt 24.verify-error-438-wrong-attest 25.verify-error-438-orig-diff-from 26.verify-error-438-dest-diff-to Pour utiliser SIPssert <https://github.com/OpenSIPS/SIPssert> ce n'est pas bien compliqué Ex: sipssert /myhome/sipssert-opensips-tests/stir-shaken -t 26.verify-error-438-dest-diff-to ça vous monte l'ensemble des conteneurs (car oui c'est 100% conteneurs), ça utilise sipp en uac et uas Après le test, vous avez un répertoire logs avec... vos les logs et une capture pcap moi# ls logs/latest/stir-shaken/26.verify-error-438-dest-diff-to capture.pcap OpenSIPS.log OpenSIPS.status 'SIPP UAC.log' 'SIPP UAC.status' Pour lire la capture rapido: sngrep -I logs/latest/stir-shaken/26.verify-error-438-dest-diff-to/capture.pcap Bonnes vacances ! ++ Le mer. 28 juin 2023 à 11:43, Greg <megaho...@gmail.com> a écrit : > Opensips c'est un super outil, nous avons créé le module call center > https://opensips.org/html/docs/modules/2.2.x/call_center.html ça date un > peu ce bon vieux temps. > En tout cas super travail pour opensips félicitations. > Je me pose la question en ce moment comment mieux générer les appels avec > les défauts. > Par ex absence de TN, ou lien vers signature invalide etc, avez vous une > idée ? > Nous avons bien implémenté l'ensemble des vérifications d'identity mais > pour tester l'ensemble des cas sans le trafic réel c'est pas si simple. > > > > > вт, 27 июн. 2023 г. в 21:06, Mickael Hubert <mick...@winlux.fr>: > >> Pardon, ma PR officielle est ici: >> https://github.com/OpenSIPS/sipssert-opensips-tests/pull/2 >> >> Tu as le projet sipssert en lui-même, ou j'ai aussi poussé un PR pour la >> partie vérification. >> Et tu as le projet avec les scénarios de bases réalisés par opensips >> sipssert-opensips-testsw avec ma PR qui ajoute les scénarios pour >> l'authentification et d'ici peu les scénarios pour la vérification comme >> expliqué dans mon précédent email. >> >> Bonne soirée >> >> Le mar. 27 juin 2023 à 21:01, Mickael Hubert <mick...@winlux.fr> a >> écrit : >> >>> Bonjour >>> Nous utilisons opensips pour réaliser le MAN. >>> Ça fonctionne parfaitement (en staging). >>> Pour info je pousse en opensource le travail que nous réalisons ici: >>> https://github.com/Mickaelh51/SIPssert/tree/add-sipp-stir-and-shaken >>> >>> Sipssert c'est le framework de tests unitaires développé par opensips. >>> >>> Pour le moment je n'ai poussé que la partie authentification (ajout du >>> header), car la partie vérification (check du header) est vraiment >>> différente de la version US. Et oui, les codes retours ne sont pas les >>> mêmes ;) >>> >>> Déjà dans auth, mon scénario va demander à opensips de générer >>> l'identity, et un script python avec pyjwt va check si ce que génère >>> opensips est cohérent. >>> >>> Mais d'ici fin de semaine pro je devrais avoir poussé l'ensemble de mes >>> scénarios de tests (auth + verify). >>> En gros ça reprend le tableau du MAN sur quand on doit balancer un 4xx, >>> etc... Et je simule ça dans des scénarios puis le framework teste si tout >>> est OK. >>> >>> Tu peux utiliser opensips pour qu'il te balance l'identity dans un 302 >>> de mémoire (pas testé). >>> >>> Si tu souhaites plus d'info, avec plaisir. >>> >>> Bonne soirée >>> >>> >>> Le mar. 27 juin 2023 à 17:24, Greg <megaho...@gmail.com> a écrit : >>> >>>> Oui je confirme et je ne peux que donner une recommandation pour >>>> telcobridges. >>>> >>>> вт, 27 июн. 2023 г. в 17:06, David Ponzone <david.ponz...@gmail.com>: >>>> >>>> > Ouais c’est ça, c’est une solution basée sur ProSBC et ClearIP de >>>> > Tansnexus, et ClearIP utilise SIP pour prévenir le SBC de ce qu’il >>>> faut >>>> > faire: 302 Divert avec Identity/503 Allow/603 Block. >>>> > C’est pas non plus ce que je préfère comme architecture, mais c’est >>>> pas >>>> > complètement con. >>>> > >>>> > En tout cas, les gens de TelcoBridges que j’avais rencontrés sont >>>> super >>>> > sympas et accessibles donc tant qu’à filer des thunes pour une >>>> solution >>>> > commerciale, autant que ça soit eux. >>>> > >>>> > >>>> > > Le 27 juin 2023 à 11:23, Greg <megaho...@gmail.com> a écrit : >>>> > > >>>> > > Bonjour, nous avons réalisé notre projet en mode WebService API >>>> avec le >>>> > > SBC, le SBC nous communique l'information pour la signature de >>>> l'appel ou >>>> > > Identity pour la vérification de signature, ensuite notre backbone >>>> > effectue >>>> > > le travail demandé et communique les résultats au SBC. >>>> > > Le backbone c'est un process REST > NodeJs en docker conçu de >>>> fonctionner >>>> > > sans la base des données pour plus de fiabilité, du coup il est >>>> possible >>>> > de >>>> > > multiplier les instances pour la haute disponibilité. >>>> > > Il ne faut pas oublier également toute la partie backend reporting / >>>> > > renouvellement, gestion des certificats, et dépose de reporting en >>>> sftp. >>>> > > Notre constructeur c'est Telcobridges, pour info David Ponzone >>>> > Telcobridges >>>> > > ont travaillé avec la signature via SIP uniquement et non via >>>> > > Rest/webservice pour la zone US / CANADA, puisque nous étions déjà >>>> avec >>>> > > telcobridges sur la partie sip nous avons travaillé avec eu pour >>>> > développer >>>> > > cette partie. >>>> > > >>>> > > >>>> > > вт, 27 июн. 2023 г. в 09:57, Arnaud Willem <mailingli...@woof.lu>: >>>> > > >>>> > >> Salut Teddy, >>>> > >> >>>> > >> La partie STI-AS et -VS répond déjà à une spec type “REST” >>>> > (ATIS-1000082, >>>> > >> parmi d'autres), ton SBC peut donc intercepter le header Identity >>>> et le >>>> > >> passer au STI-VS pour validation, de même pour générer ton token >>>> avec le >>>> > >> STI-AS, c’est (comme le dit David dans son mail) le format retenu >>>> par >>>> > une >>>> > >> majorité de presta SaaS pour cela. >>>> > >> >>>> > >> Après, du STI-AS/VS libre/opensource, j’ai pas encore sourcé, à >>>> part >>>> > >> `libstirshaken`, mais je suis aussi preneur de retours des uns et >>>> des >>>> > >> autres. >>>> > >> >>>> > >> En commercial, chaque éditeur y va maintenant de son offre >>>> intégrée / >>>> > son >>>> > >> partenariat avec un SaaS, ou encore de son offre OPTV et OPTS pour >>>> les >>>> > >> opérateurs de transit voix. >>>> > >> >>>> > >> My two cents, >>>> > >> >>>> > >> Arnaud >>>> > >> >>>> > >> >>>> > >>> On 27 Jun 2023, at 09:25, Teddy DOURE <teddy.do...@komeo.fr> >>>> wrote: >>>> > >>> >>>> > >>> Hello, >>>> > >>> >>>> > >>> Le sujet MAN est devenu un sujet assez prioritaire. >>>> > >>> On prend le train un peu en marche et on se pose quelques >>>> questions. >>>> > >>> Entre les différentes solutions commerciales et la volonté >>>> > >> d'internaliser ce processus en interne. >>>> > >>> >>>> > >>> Le MAN consistant à intégrer dans la trame SIP un header avec une >>>> > >> signature en tant qu'appelant et à vérifier cette signature en >>>> tant que >>>> > >> destinataire. >>>> > >>> Je me pose donc la question suivante : >>>> > >>> >>>> > >>> Serait-t-il viable d'intégrer cela en mode webservice couplé au >>>> SBC >>>> > avec >>>> > >> un service qui tournerai localement, qui ferait les manipulations >>>> > >> nécessaires pour renvoyer simplement les bons headers dans la >>>> trame SIP >>>> > ? >>>> > >>> Nous le faisons déjà avec nos SBC pour faire tout un tas de >>>> > >> vérifications sur les numéros appelant, appelés et intégrer des >>>> custom >>>> > >> header notamment pour la facturation par exemple. >>>> > >>> >>>> > >>> Ou alors faut-il vraiment s'interconnecter avec des solutions >>>> > >> "certifiées" ou existe-t-il des solutions opensource ? >>>> > >>> >>>> > >>> Merci d'avance 🙂 >>>> > >>> >>>> > >>> >>>> > >>> Cordialement, >>>> > >>> >>>> > >>> T.DOURE >>>> > >>> >>>> > >>> --------------------------- >>>> > >>> Liste de diffusion du FRnOG >>>> > >>> http://www.frnog.org/ >>>> > >> >>>> > >> Arnaud WILLEM >>>> > >> >>>> > >> >>>> > >> >>>> > >> >>>> > >> --------------------------- >>>> > >> Liste de diffusion du FRnOG >>>> > >> http://www.frnog.org/ >>>> > >> >>>> > > >>>> > > --------------------------- >>>> > > Liste de diffusion du FRnOG >>>> > > http://www.frnog.org/ >>>> > >>>> > >>>> >>>> --------------------------- >>>> Liste de diffusion du FRnOG >>>> http://www.frnog.org/ >>>> >>> --------------------------- Liste de diffusion du FRnOG http://www.frnog.org/