This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
home [2021/08/02 13:51] tda |
home [2024/03/07 17:02] (current) ehe [How to check OpenVPN certificates validity?] |
||
---|---|---|---|
Line 782: | Line 782: | ||
===== Can you use MQTT without a broker? ===== | ===== Can you use MQTT without a broker? ===== | ||
No. | No. | ||
+ | |||
+ | ===== Which version of MQTT is implemented ===== | ||
+ | |||
+ | The WMC implements MQTT v3.1.1. | ||
===== Can multiple clients publish to the same topic? ===== | ===== Can multiple clients publish to the same topic? ===== | ||
Line 1261: | Line 1265: | ||
dbus-send --system --type=method_call --print-reply --dest=org.ofono /sierra_0 org.ofono.RadioSettings.SetProperty string:"TechnologyPreference" variant:string:"umts" | dbus-send --system --type=method_call --print-reply --dest=org.ofono /sierra_0 org.ofono.RadioSettings.SetProperty string:"TechnologyPreference" variant:string:"umts" | ||
</code> | </code> | ||
+ | |||
+ | Note that this configuration is persistent (is not removed when rebooting the gateway). | ||
\\ | \\ | ||
Line 1279: | Line 1285: | ||
</code> | </code> | ||
+ | Note that this configuration is persistent (is not removed when rebooting the gateway). | ||
+ | ===== How to acknowledge an alarm using GMS API ===== | ||
+ | Acknowledging an alarm using GMS API can be useful to remove the alarm from the active alarms list. | ||
+ | The main advantage of doing this over GMS API is the fact that this task can be done using a script (bash, python, javascript, java, etc...) at the application level on any remote machine. No human action is required (selecting the bell icon to cancel the alarm). | ||
+ | Here is the procedure: | ||
+ | - Call the Login web service to get your session token | ||
+ | - Copy the token value in the Authorize field | ||
+ | - Call the web-service **getGatewayLastEvents** to get the list of the last events of a given gateway | ||
+ | - Get the eventID in the response | ||
+ | - Put this eventID in the **patchLastEvent** request | ||
+ | For instance : | ||
+ | I want to acknowledge the "POWER_LOST" alarm for the gateway 707600FF54040023 | ||
+ | {{:images:gateway_alarms.png|}} | ||
+ | I'm skipping the login procedure that is explained in the WMC WIKI here: | ||
+ | [[https://wikikerlink.fr/wanesy-ran/doku.php?id=wiki:wiki3:swaggerui&s[]=login| GMS API Login]] | ||
+ | I'm calling the web service **getGatewayLastEvents** passing the gateway EUI as parameter: | ||
+ | {{:images:getgatewaylastevents.png|}} | ||
+ | |||
+ | It is possible to filter events using the search field (filtering on the event category, for instance). | ||
+ | |||
+ | The response is : | ||
+ | |||
+ | {{:images:power_lost_event.png|}} | ||
+ | |||
+ | From the response, I can get the eventID (here 619) that will be used in the following request. | ||
+ | |||
+ | Calling the **patchLastEvent** webservice with the "eventID" parameters and "read" parameter with the value "true": | ||
+ | |||
+ | {{:images:patchlastevent.png|}} | ||
+ | |||
+ | If the response is 20x then the request has been correctly executed. | ||
+ | |||
+ | {{:images:patchlastevent_response.png|}} | ||
+ | |||
+ | |||
+ | The event has been removed from the active alarms list : | ||
+ | |||
+ | {{:images:gateway_alarms_2.png|}} | ||
+ | |||
+ | Note: I have also acknowledged the "GPS_UNLOCKED" alarm in the same manner. | ||
+ | |||
+ | ===== How to get unsent push messages using GMS API ===== | ||
+ | |||
+ | For some unknown reasons, the push can fail for instance when an outage occurs on the customer's Application server. \\ | ||
+ | To avoid losing application messages, the following procedure can be applied to retrieve unsent messages over GMS API. | ||
+ | |||
+ | The webservice to use is **getDataUp** with a specific search criteria to get unsent message : | ||
+ | <code> | ||
+ | {"operand":"pushed","operation":"eq","values":["false"]} | ||
+ | </code> | ||
+ | |||
+ | This search criteria will return all the unsent messages since the WMC was turned online. | ||
+ | Maybe you will desire to filter on a given time period. | ||
+ | To achieve this, the following search criteria can be used : | ||
+ | <code> | ||
+ | {"operator": "AND","conditions": [{"operand": "pushed","operation": "EQ","values": ["false"]},{"operand": "recvTime","operation": "GTE","values": ["<TIME START in ms>"]},{"operand": "recvTime","operation": "LTE","values": ["<TIME END in ms>" ]} ]} | ||
+ | </code> | ||
+ | |||
+ | A more readable search criteria : | ||
+ | <code> | ||
+ | { | ||
+ | "operator": "AND", | ||
+ | "conditions": [ | ||
+ | { | ||
+ | "operand": "pushed", | ||
+ | "operation": "EQ", | ||
+ | "values": [ | ||
+ | "false" | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "operand": "recvTime", | ||
+ | "operation": "GTE", | ||
+ | "values": [ | ||
+ | "<TIME START in ms>" | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "operand": "recvTime", | ||
+ | "operation": "LTE", | ||
+ | "values": [ | ||
+ | "<TIME END in ms>" | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | For instance: | ||
+ | Filtering messages from: 2022-01-05 13:28:18 UTC+2 to: 2022-01-06 13:27:13 UTC+2 \\ | ||
+ | Note: use EPOCH Converter tool to convert these dates to Epoch timestamps in ms and don't forget to use GMT/UTC values ! | ||
+ | <code> | ||
+ | {"operator": "AND","conditions": [{"operand": "pushed","operation": "EQ","values": ["false"]},{"operand": "recvTime","operation": "GTE","values": ["1641382098000"]},{"operand": "recvTime","operation": "LTE","values": ["1641468433000" ]} ]} | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Testing: | ||
+ | |||
+ | {{:images:unsent_messages_1.png|800}} | ||
+ | |||
+ | {{:images:unsent_messages_2.png|}} | ||
+ | |||
+ | |||
+ | |||
+ | ===== How to configure DIVERSITY on iBTS? ===== | ||
+ | Please see in **iSeries Wiki FAQ**: [[https://wikikerlink.fr/wirnet-productline/doku.php?id=wiki:support:faq#how_to_configure_diversity_on_ibts|How to configure DIVERSITY on iBTS?]] | ||
+ | |||
+ | |||
+ | ===== How to check OpenVPN certificates validity? ===== | ||
+ | You can use following commands, depending on the KerOS version installed on the gateways. | ||
+ | |||
+ | On version 3x: | ||
+ | <code> | ||
+ | openssl pkcs12 -info -in /etc/openvpn/client-openvpn.p12 -nokeys -password pass: | openssl x509 -noout -enddate | ||
+ | </code> | ||
+ | |||
+ | On version 4x: | ||
+ | <code> | ||
+ | grep 'Not After' /.update/update.log | awk 'END {print}' | ||
+ | </code> | ||
+ | |||
+ | |||
+ | On version 5x: | ||
+ | <code> | ||
+ | openssl pkcs12 -info -in /etc/openvpn/bscc.p12 -nokeys -password file:/etc/openvpn/bscc.password| openssl x509 -noout -enddate | ||
+ | </code> | ||
+ | |||
+ | ===== Which network configuration should be done to connect my gateway to Wanesy™ Management Cockpit? ===== | ||
+ | [[https://wikikerlink.fr/wanesy-management-cockpit/doku.php?id=wiki:network|Wanesy™ Management Cockpit - Network management]] | ||
+ | ===== Administrative information ===== | ||
+ | You can find in following document, the administrative information you should know as a user of Kerlink’s products: | ||
+ | {{ :wiki:administrative_information20211006.pdf |Administrative information}} | ||