<div dir="ltr"><div dir="ltr">On Fri, May 29, 2020 at 7:37 AM Saint Michael <<a href="mailto:venefax@gmail.com">venefax@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div style="font-size:small"><br></div><div style="font-size:small"><span class="gmail_default"></span><a rel="noreferrer" href="https://wiki.asterisk.org/wiki/display/AST/STIR+and+SHAKEN" target="_blank">https://wiki.asterisk.org/wiki/display/AST/STIR+and+SHAKEN</a>  <br></div><div style="font-size:small">The Wiki above is misleading in what Stir-Shaken means and how it works. End users cannot get a certificate, they cannot self-certify their calls. Somebody completely misunderstood the model. I am afraid the moment will come and thousands of Asterisk operators will be unable to terminate calls.</div><div style="font-size:small">To start with, the model is a hierarchical one: there is an FCC designated central authority, which appoints (so far two) Certification Authorities, allowed to issue Certificates for Service Providers ONLY, which themselves are ALSO pre-approved by then GA (Governance Authority), and they need to have an OCN, they need to be a CLEC, have their own block of numbers. So the idea that an Asterisk operator can have its own certificate and somehow calculate the signature, is ridiculous. Once the call arrives a the last mile, let's say VZ or ATT, the carrier will open the signature added to each call and verify it with the Certification Authority that issued the certificate. They will check if the caller-ID and destination number match the actual call. Each signature is valid only for 60 seconds and each call has a different signature, even for the same caller-ID and destination number, so it cannot be stored.</div><div style="font-size:small">As you can see, this is a new world and we need to prepare for its arrival, or our calls will simply fail and we shall be out of business. My company is an approved Service Provider and we are waiting for the certificate, which is in itself complicated paperwork. </div><div style="font-size:small">Our model to solve this riddle for Asterisk is simple: Add a res_odbc.so-connection pointed to our MySQL database. Create a func_odbc function that executes our stored procedure. For each call, you send us the pair Caller-ID and Destination number, and we send you back the signature. In the next line in the dialplan, you add a SIP-header called Identity, and our signature becomes the content.</div><div><font size="2">Identity: eyJhbGciOiJFUzI1NiIsInR5cCI6InBhc3Nwb3J0IiwicHB0Ijoic2hha2VuIiwieDV1IjoiaHR0cHM6Ly9jZXJ0LmV4YW1wbGUub3JnL3Bhc3Nwb3J0LmNlciJ9.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxOTU0NDQ0NzQwOCJdfSwiaWF0IjoxNTkwNjcyNDc2LCJvcmlnIjp7InRuIjoiMjE1OTE0MDQyMSJ9LCJvcmlnaWQiOiIxMjNlNDU2Ny1lODliLTEyZDMtYTQ1Ni00MjY2NTU0NDAwMDAifQ.X7noevZGawXv1Jw1wkaqunTMFVE9FLt7sEX1QSgk0GMJmAHJWnbF5PCdj-Mc7UD2JY_5xvuJU3UlhSvswfK7SQ;info=<<a href="https://cert.example.org/passport.cer" target="_blank">https://cert.example.org/passport.cer</a>>;alg="ES256";ppt="shaken" <br></font></div><div><font size="2"><br></font></div><div><font size="2">With two lines of code in the dialplan, you solve the FCC requirements. BUT, the caller-ID must be either verifiable associated with the company that owns Asterisk, or we can supply one for you, from our pool of numbers. Wireless numbers are not allowed. We check each and call return an error if the conditions are not met. What happens if you send a random but valid caller-ID? We still sign it, BUT, with Attestation level "C", which means we don't know anything about the caller-ID. At some point, carriers will decline to terminate those calls. It is up to them to terminate or not those calls.</font></div><div><font size="2">So what I am doing for the Asterisk community is helping everybody to stay in business. If you delay the interconnection with me and pretend it is not urgent, you will end-up in the fauces of XXXXnexus, which acts double as a Certification Authority and Service Provider and charges huge fees. I mean HUGE.</font></div><div style="font-size:small">This wiki should be erased, for it is misleading:</div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="font-size:small" class="gmail_default"></span><a rel="noreferrer" href="https://wiki.asterisk.org/wiki/display/AST/STIR+and+SHAKEN" target="_blank">https://wiki.asterisk.org/wiki/display/AST/STIR+and+SHAKEN</a></blockquote></div></div></blockquote></div><div><br></div>It is not misleading. We are adding support in Asterisk for doing this for cases where the certificate is available to the Asterisk user, much like the support is already available in Kamailio and other solutions. Whether that occurs or not depends on the specific agreement over the phone number (or number range). An upstream carrier may take care of it, or they may allow it to be done downstream. That aspect is outside the scope of Asterisk itself. We just provide the tools, including verification for inbound traffic.<div><br></div><div>I also ask as others have that you respect the non-commercial nature of this mailing list and use the asterisk-biz mailing list for your specific offering. If people want to discuss the aspects of STIR/SHAKEN itself, that's perfectly fine.<br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-family:tahoma,sans-serif"><font color="#073763">Joshua C. Colp</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Asterisk Technical Lead</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Sangoma Technologies</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Check us out at <a href="http://www.sangoma.com" target="_blank">www.sangoma.com</a> and <a href="http://www.asterisk.org" target="_blank">www.asterisk.org</a></font><br></div></div></div></div></div></div></div></div></div></div></div></div>