@grzegorzpnk
In my opinion event notification is not implemented (or it is not working), i’m not code expert btw. My solution, since I have just to realize a proof of concept, is to use subscriptions with ONE_TIME trigger. In practice I do polling to the NF I need. Here there is an example:
URL: http://127.0.0.18:8000/namf-evts/v1/subscriptions
Body request
{
“subscription”: {
“eventList”: [
{
“type”: “PRESENCE_IN_AOI_REPORT”,
“immediateFlag”: true,
“areaList”: [
{
“presenceInfo”: {
“trackingAreaList”: [
{
“plmnId”: {
“mcc”: “208”,
“mnc”: “93”
},
“tac”: “000001”
}
]
},
“sNssai”: [{
“sd”: “010203”,
“sst”: 1
},
{
“sd”: “112233”,
“sst”: 1
}]
}
],
“udmDetectInd”: true,
“presenceInfoList”: {},
“maxResponseTime”: 0,
“targetArea”: {
“taList”: [
{
“plmnId”: {
“mcc”: “208”,
“mnc”: “93”
},
“tac”: “1”
}
]
}
}
],
“anyUE”:true,
“notifyCorrelationId”: “504”,
“nfId”: “a42e3a30-deb8-4510-8915-ca639aacb3d7”,
“options”: {
“trigger”: “ONE_TIME”
}
}
}
The AMF is responding with the list of devices connected (in this case just one)
Response
{
“subscription”: {
“eventList”: [
{
“type”: “PRESENCE_IN_AOI_REPORT”,
“immediateFlag”: true,
“areaList”: [
{
“presenceInfo”: {
“trackingAreaList”: [
{
“plmnId”: {
“mcc”: “208”,
“mnc”: “93”
},
“tac”: “000001”
}
]
}
}
]
}
],
“eventNotifyUri”: “”,
“notifyCorrelationId”: “504”,
“nfId”: “a42e3a30-deb8-4510-8915-ca639aacb3d7”,
“anyUE”: true,
“options”: {
“trigger”: “ONE_TIME”
}
},
“subscriptionId”: “6”,
“reportList”: [
{
“type”: “PRESENCE_IN_AOI_REPORT”,
“state”: {
“active”: false
},
“timeStamp”: “2022-06-03T09:26:39.058089875Z”,
“anyUe”: true,
“supi”: “imsi-208930000000007”
}
]
Then I ask for some device’s parameters with a new request (notice that IMSI is the same of the previous response). I used EURANSIM to similate device connection. Notify URI is useless since i’m asking for ONE_TIME that by definition is not creating a real subscription but just give data once in the responce.
Body Request 2
{
“subscription”: {
“subsChangeNotifyCorrelationId”: “1”,
“notifyCorrelationId”: “1”,
“eventNotifyUri”: "“iHadToRemoveLink/”,
“subsChangeNotifyUri”: "“iHadToRemoveLink”,
“nfId”: “a42a2a30-deb8-4510-8915-ca6a9aacb3a3”,
“eventList”: [
{
“type”: “REGISTRATION_STATE_REPORT”,
“immediateFlag”: true
},
{
“type”: “CONNECTIVITY_STATE_REPORT”,
“immediateFlag”: true
},
{
“type”: “LOSS_OF_CONNECTIVITY”,
“immediateFlag”: true
},
{
“type”: “LOCATION_REPORT”,
“immediateFlag”: true
},
{
“type”: “TIMEZONE_REPORT”,
“immediateFlag”: true
},
{
“type”: “REGISTRATION_STATE_REPORT”,
“immediateFlag”: true
},
{
“type”: “ACCESS_TYPE_REPORT”,
“immediateFlag”: true
},
{
“type”: “REACHABILITY_REPORT”,
“immediateFlag”: true
}
],
“supi”: “imsi-208930000000007”,
“options”: {
“trigger”: “ONE_TIME”,
“expiry”: “2022-05-19T18:53:01.558Z”
}
}
}
and finally the resp
Response 2
{
“subscription”: {
“eventList”: [
{
“type”: “REGISTRATION_STATE_REPORT”,
“immediateFlag”: true
},
{
“type”: “CONNECTIVITY_STATE_REPORT”,
“immediateFlag”: true
},
{
“type”: “LOSS_OF_CONNECTIVITY”,
“immediateFlag”: true
},
{
“type”: “LOCATION_REPORT”,
“immediateFlag”: true
},
{
“type”: “TIMEZONE_REPORT”,
“immediateFlag”: true
},
{
“type”: “REGISTRATION_STATE_REPORT”,
“immediateFlag”: true
},
{
“type”: “ACCESS_TYPE_REPORT”,
“immediateFlag”: true
},
{
“type”: “REACHABILITY_REPORT”,
“immediateFlag”: true
}
],
“eventNotifyUri”: "“iHadToRemoveLink”,
“notifyCorrelationId”: “1”,
“nfId”: “a42a2a30-deb8-4510-8915-ca6a9aacb3a3”,
“subsChangeNotifyUri”: “iHadToRemoveLink”,
“subsChangeNotifyCorrelationId”: “1”,
“supi”: “imsi-208930000000007”,
“options”: {
“trigger”: “ONE_TIME”,
“expiry”: “2022-05-19T18:53:01.558Z”
}
},
“subscriptionId”: “7”,
“reportList”: [
{
“type”: “REGISTRATION_STATE_REPORT”,
“state”: {
“active”: false
},
“timeStamp”: “2022-06-03T09:34:33.761586021Z”,
“supi”: “imsi-208930000000007”,
“rmInfoList”: [
{
“rmState”: “REGISTERED”,
“accessType”: “3GPP_ACCESS”
},
{
“rmState”: “DEREGISTERED”,
“accessType”: “NON_3GPP_ACCESS”
}
]
},
{
“type”: “CONNECTIVITY_STATE_REPORT”,
“state”: {
“active”: false
},
“timeStamp”: “2022-06-03T09:34:33.761586021Z”,
“supi”: “imsi-208930000000007”,
“cmInfoList”: [
{
“cmState”: “CONNECTED”,
“accessType”: “3GPP_ACCESS”
},
{
“cmState”: “IDLE”,
“accessType”: “NON_3GPP_ACCESS”
}
]
},
{
“type”: “LOSS_OF_CONNECTIVITY”,
“state”: {
“active”: false
},
“timeStamp”: “2022-06-03T09:34:33.761586021Z”,
“supi”: “imsi-208930000000007”
},
{
“type”: “LOCATION_REPORT”,
“state”: {
“active”: false
},
“timeStamp”: “2022-06-03T09:34:33.761586021Z”,
“supi”: “imsi-208930000000007”,
“location”: {
“nrLocation”: {
“tai”: {
“plmnId”: {
“mcc”: “208”,
“mnc”: “93”
},
“tac”: “000001”
},
“ncgi”: {
“plmnId”: {
“mcc”: “208”,
“mnc”: “93”
},
“nrCellId”: “000000010”
},
“ageOfLocationInformation”: -431730491,
“ueLocationTimestamp”: “2022-06-03T09:20:06.176424105Z”
}
}
},
{
“type”: “TIMEZONE_REPORT”,
“state”: {
“active”: false
},
“timeStamp”: “2022-06-03T09:34:33.761586021Z”,
“supi”: “imsi-208930000000007”
},
{
“type”: “REGISTRATION_STATE_REPORT”,
“state”: {
“active”: false
},
“timeStamp”: “2022-06-03T09:34:33.761586021Z”,
“supi”: “imsi-208930000000007”,
“rmInfoList”: [
{
“rmState”: “REGISTERED”,
“accessType”: “3GPP_ACCESS”
},
{
“rmState”: “DEREGISTERED”,
“accessType”: “NON_3GPP_ACCESS”
}
]
},
{
“type”: “ACCESS_TYPE_REPORT”,
“state”: {
“active”: false
},
“timeStamp”: “2022-06-03T09:34:33.761586021Z”,
“supi”: “imsi-208930000000007”,
“accessTypeList”: [
“3GPP_ACCESS”
]
},
{
“type”: “REACHABILITY_REPORT”,
“state”: {
“active”: false
},
“timeStamp”: “2022-06-03T09:34:33.761586021Z”,
“supi”: “imsi-208930000000007”
}
]
}