mirror of
https://github.com/zvx-echo6/meshai.git
synced 2026-08-26 17:31:34 +00:00
Adds a new native `ipaws` adapter for FEMA IPAWS-OPEN EAS civil alerts. - Two-stage CAP fetch via base_url (direct FEMA or Conduit proxy): Atom index -> per-entry CAP 1.2 documents. - Non-weather civil alerts only (evacuation, Civil Emergency Message, AMBER, 911 outage, law-enforcement, HazMat); NWS/NOAA CAP dropped so weather is never double-broadcast. - Idaho + neighbour statefips scope gate applied before stage-2 fetch. - Own `ipaws_alerts` dedup table (migration v29); reuses the NWS CAP severity + formatter pattern. - Ships enabled=False (no transmit until explicitly enabled). Co-authored-by: Matt Johnson <mj@k7zvx.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 line
No EOL
5.7 KiB
XML
1 line
No EOL
5.7 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><alert xmlns="urn:oasis:names:tc:emergency:cap:1.2"><identifier>AS-ID-de78a02d-8bf9-4528-8f84-fd417bbcaa5b</identifier><sender>shelby.blackburn@dhw.idaho.gov</sender><sent>2026-07-15T22:54:41-06:00</sent><status>Actual</status><msgType>Update</msgType><source>AlertSense</source><scope>Public</scope><addresses></addresses><code>IPAWSv1.0</code><references>shelby.blackburn@dhw.idaho.gov,AS-ID-f99c29ec-6485-4946-bad1-f4c679204f91,2026-07-15T22:18:49-06:00</references><info><language>en-US</language><category>Safety</category><event>Civil Emergency Message</event><urgency>Immediate</urgency><severity>Extreme</severity><certainty>Observed</certainty><eventCode><valueName>SAME</valueName><value>CEM</value></eventCode><effective>2026-07-15T22:54:41-06:00</effective><expires>2026-07-16T02:54:41-06:00</expires><senderName>200033, Idaho State Communications Center, Idaho Office of Emergency Management</senderName><headline>Wildfire Immediate Evacuation Alert</headline><description>The Boundary County Sheriff's Office has issued an immediate wildfire evacuation order for the following areas in Bonners Ferry.: Turner's Hill Road from the 3000 block to highway 95. All Holmes Rd. Addresses. All Kings row road addresses and any side roads. All Fleming Creek Road addresses and any side roads. Contact Boundary County Sheriff's Office for further information.</description><parameter><valueName>EAS-ORG</valueName><value>CIV</value></parameter><parameter><valueName>BLOCKCHANNEL</valueName><value>CMAS</value></parameter><parameter><valueName>timezone</valueName><value>MDT</value></parameter><resource><resourceDesc>EAS Broadcast Content</resourceDesc><mimeType>audio/x-ipaws-audio-mp3</mimeType><uri>https://storage-tts.alertsense.com/tts-generated-audio/2d7fa5dd3d901a593adc727326fd79cb.mp3</uri></resource><area><areaDesc>Boundary County</areaDesc><polygon>48.9192,-116.4488 48.9210,-116.3039 48.8190,-116.2298 48.6971,-116.2799 48.7035,-116.4324 48.7429,-116.4632 48.8944,-116.4557 48.9192,-116.4488</polygon><geocode><valueName>SAME</valueName><value>016021</value></geocode></area></info><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference URI=""><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>zLQmJ/Mz8ncm8/nwX/ddeaP9AyfzUykvg79CH0UJk2I=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>J4ZCQXqPC5naEVREtr/N0unNK9vvg2bQk/D/CdCB5UFWaPZAfEDkKaxPBlk7hl6xxHL2874bmYdRzk219WX9zOr+C9i42WSfchcLsx9p8QCx/3jE/pN7IBBfMzmGhNWaUzzMjh4OuPMso5MSFKLoO0SYpBN/vhUt0OWIyHy4HZ41g8cbWhNKxFVSyZUTm9CMbsMFqz9euQEqMhdhuwQhwlEWKhLAS7FvuHkrishUcWfuYdOoDJMR6zleeKZPB/hideSVQqUDOKutuE0T5wNbmtkJzeBgxVBGcOmKz89/jjM4OLC/UteJ3tp8ELEHTd2HfeY94uAlOB1kxEKjlo8sqw==</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509SubjectName>CN=IPAWSOPEN200033, OU=A01410C0000019A0BA535660010EA64, OU=Devices IPAWS, OU=National Continuity Programs, O=FEMA IPAWS, C=US</ds:X509SubjectName><ds:X509Certificate>MIIHPzCCBSegAwIBAgIQQAGaC6U1lRMpZQ/11uQBHTANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSAwHgYDVQQLExdJZGVuVHJ1c3QgR2xvYmFsIENvbW1vbjEYMBYGA1UEAxMPSUdDIERldmljZSBDQSAyMB4XDTI1MTAyMjExMTkyN1oXDTI4MTAyMTExMTgyN1owgaUxCzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpGRU1BIElQQVdTMSUwIwYDVQQLExxOYXRpb25hbCBDb250aW51aXR5IFByb2dyYW1zMRYwFAYDVQQLEw1EZXZpY2VzIElQQVdTMSgwJgYDVQQLEx9BMDE0MTBDMDAwMDAxOUEwQkE1MzU2NjAwMTBFQTY0MRgwFgYDVQQDEw9JUEFXU09QRU4yMDAwMzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCHNmpzdlVIgU1B68zK5AKjyaZphWDNCOU+pTqlmtRuuRlVUiEEv59Nd+ymaY5rJoDoBHq6JQEwSgXCrCLkpgTvzbdMul8yMi26JNI5ftlA8uEv3CLg5t8K5Xc66LUL5e8hyzV+koF42kvKctAV4A+8RWH0U0SeZhxGS4XJbzMTP3wiyel3jMEKuwqrYUtPaLYt60gHKz3U5fEnT+Lh7zYt82PwtUb9rPBEmfc6HxIOdLnoYD3VZj5HFpPzWjsbUGS9eF4bBUYmtN4Vo3FALBBDinqTQYnMuIDc95dFYIhJ0S3FytXH7EtYcEH+oaYEJSUuXHD36cX3fqPAVpZvO/hdAgMBAAGjggKwMIICrDAOBgNVHQ8BAf8EBAMCBaAwfQYIKwYBBQUHAQEEcTBvMCkGCCsGAQUFBzABhh1odHRwOi8vaWdjLm9jc3AuaWRlbnRydXN0LmNvbTBCBggrBgEFBQcwAoY2aHR0cDovL3ZhbGlkYXRpb24uaWRlbnRydXN0LmNvbS9jZXJ0cy9pZ2NkZXZpY2VjYTIucDdjMB8GA1UdIwQYMBaAFD+LR65hHetlI5XEOi3tu0jVIykiMIIBQwYDVR0gBIIBOjCCATYwDQYLYIZIAYb5LwBkJQEwggEjBgtghkgBhvkvAGQmATCCARIwSwYIKwYBBQUHAgEWP2h0dHBzOi8vc2VjdXJlLmlkZW50cnVzdC5jb20vY2VydGlmaWNhdGVzL3BvbGljeS9JR0MvaW5kZXguaHRtbDCBwgYIKwYBBQUHAgIwgbUMgbJDZXJ0aWZpY2F0ZSB1c2UgcmVzdHJpY3RlZCB0byBSZWx5aW5nIFBhcnR5KHMpIGluIGFjY29yZGFuY2Ugd2l0aCBJR0MtQ1AgKHNlZSBodHRwczovL3NlY3VyZS5pZGVudHJ1c3QuY29tL2NlcnRpZmljYXRlcy9wb2xpY3kvaWdjL2luZGV4Lmh0bWwpLiBJR0MtQ1BTIGluY29ycG9yYXRlZCBieSByZWZlcmVuY2UuMEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly92YWxpZGF0aW9uLmlkZW50cnVzdC5jb20vY3JsL2lnY2RldmljZWNhMi5jcmwwGgYDVR0RBBMwEYIPSVBBV1NPUEVOMjAwMDMzMB0GA1UdDgQWBBTBxlyX5IHswYEWbPZpxIYqmB0aLzAxBgNVHSUEKjAoBggrBgEFBQcDAgYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQsFAAOCAgEAmPhyPhFSPt6PFuaPicB921up3AMP5Su/T666ZUGtQaFXLLijiAw/d1niCx5jwjnymbW8IWrYcd9CG/ef0ikEBU5DnN6XXZWwJmikRo3cF1TKH3bRCvjFPEznut9ZUWc+M2lwEzj0HT8JNFVHuqn1R0gZ5gjiH8/Ien0hfj5Rr1QJP0Oxw2l5xi2cfJaiUf+ckvPngocEHfPL6o10j9QLEaCvKh6YRTb1blUQ5D+n1etom6YpU0JB/OWw89Six878bHS0k6fCKPlQcm3Ay4iBE/xKolNLyfX7GneJ91w2hQXpZ98uioMsLATceaUl7jEUIUh6x37R2k/9fcmI8JDeoFLq68IZBsq2vvuz8kSsggIqkED9EPhDBnbZ5mDFKK/IrcSs2/5suFr2kFFtbfQU53x/mT5AMg+TYtXulw7jMWSkkDM87lhS7GmaOyyjrz3ZvQ652lYpkY7+n4Zcb5Q0twcvHFqeXZgfUrII8318wFDq4exa52o8rjhWBE7XCiXvTwiHsumWoURsV8x3EQF5GMcn8CXFX1Hbyj87GKbnmPKmHPMRkDrHz9R4gPpXZKfqaA5dtQilv2B81R91F+gVwXXn2IgFqunmsieWSltxnsq/osIdLSCVHrtJsdcq6f82lVSVNl9EHbbkcx/eEKqrq4T/lnnjj3QlICZsv/t5P9c=</ds:X509Certificate></ds:X509Data></ds:KeyInfo></ds:Signature></alert> |