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/

Répondre à