summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README2
-rw-r--r--dss1.cpp48
-rw-r--r--message.h2
3 files changed, 52 insertions, 0 deletions
diff --git a/README b/README
index 833b080..e863b8b 100644
--- a/README
+++ b/README
@@ -506,6 +506,8 @@ Changes after Version 1.5
- Applied API change of OpenBSC.
- Applied changes of OpenBSC main branch. LCR now works with OpenBSC main
branch.
+- Minor fixes and source cleanups.
+- Added patch by Kai Peter to complete screening indicators. Thanx!
diff --git a/dss1.cpp b/dss1.cpp
index 27d1001..610049f 100644
--- a/dss1.cpp
+++ b/dss1.cpp
@@ -473,6 +473,12 @@ void Pdss1::setup_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m)
case 0:
p_callerinfo.screen = INFO_SCREEN_USER;
break;
+ case 1:
+ p_callerinfo.screen = INFO_SCREEN_USER_VERIFIED_PASSED;
+ break;
+ case 2:
+ p_callerinfo.screen = INFO_SCREEN_USER_VERIFIED_FAILED;
+ break;
default:
p_callerinfo.screen = INFO_SCREEN_NETWORK;
break;
@@ -516,6 +522,12 @@ void Pdss1::setup_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m)
case 0:
p_callerinfo.screen2 = INFO_SCREEN_USER;
break;
+ case 1:
+ p_callerinfo.screen2 = INFO_SCREEN_USER_VERIFIED_PASSED;
+ break;
+ case 2:
+ p_callerinfo.screen2 = INFO_SCREEN_USER_VERIFIED_FAILED;
+ break;
default:
p_callerinfo.screen2 = INFO_SCREEN_NETWORK;
break;
@@ -574,6 +586,12 @@ void Pdss1::setup_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m)
case 0:
p_redirinfo.screen = INFO_SCREEN_USER;
break;
+ case 1:
+ p_redirinfo.screen = INFO_SCREEN_USER_VERIFIED_PASSED;
+ break;
+ case 2:
+ p_redirinfo.screen = INFO_SCREEN_USER_VERIFIED_FAILED;
+ break;
default:
p_redirinfo.screen = INFO_SCREEN_NETWORK;
break;
@@ -1007,6 +1025,12 @@ void Pdss1::connect_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m)
case 0:
p_connectinfo.screen = INFO_SCREEN_USER;
break;
+ case 1:
+ p_connectinfo.screen = INFO_SCREEN_USER_VERIFIED_PASSED;
+ break;
+ case 2:
+ p_connectinfo.screen = INFO_SCREEN_USER_VERIFIED_FAILED;
+ break;
default:
p_connectinfo.screen = INFO_SCREEN_NETWORK;
break;
@@ -2002,6 +2026,12 @@ void Pdss1::message_setup(unsigned int epoint_id, int message_id, union paramete
case INFO_SCREEN_USER:
screen = 0;
break;
+ case INFO_SCREEN_USER_VERIFIED_PASSED:
+ screen = 1;
+ break;
+ case INFO_SCREEN_USER_VERIFIED_FAILED:
+ screen = 2;
+ break;
default: /* INFO_SCREEN_NETWORK */
screen = 3;
break;
@@ -2040,6 +2070,12 @@ void Pdss1::message_setup(unsigned int epoint_id, int message_id, union paramete
case INFO_SCREEN_USER:
screen2 = 0;
break;
+ case INFO_SCREEN_USER_VERIFIED_PASSED:
+ screen2 = 1;
+ break;
+ case INFO_SCREEN_USER_VERIFIED_FAILED:
+ screen2 = 2;
+ break;
default: /* INFO_SCREEN_NETWORK */
screen2 = 3;
break;
@@ -2094,6 +2130,12 @@ void Pdss1::message_setup(unsigned int epoint_id, int message_id, union paramete
case INFO_SCREEN_USER:
screen = 0;
break;
+ case INFO_SCREEN_USER_VERIFIED_PASSED:
+ screen = 1;
+ break;
+ case INFO_SCREEN_USER_VERIFIED_FAILED:
+ screen = 2;
+ break;
default: /* INFO_SCREE_NETWORK */
screen = 3;
break;
@@ -2431,6 +2473,12 @@ void Pdss1::message_connect(unsigned int epoint_id, int message_id, union parame
case INFO_SCREEN_USER:
screen = 0;
break;
+ case INFO_SCREEN_USER_VERIFIED_PASSED:
+ screen = 1;
+ break;
+ case INFO_SCREEN_USER_VERIFIED_FAILED:
+ screen = 2;
+ break;
default: /* INFO_SCREE_NETWORK */
screen = 3;
break;
diff --git a/message.h b/message.h
index ef54507..0849f54 100644
--- a/message.h
+++ b/message.h
@@ -34,6 +34,8 @@ enum { /* number presentation */
enum { /* number presentation */
INFO_SCREEN_USER, /* user provided */
+ INFO_SCREEN_USER_VERIFIED_PASSED,
+ INFO_SCREEN_USER_VERIFIED_FAILED,
INFO_SCREEN_NETWORK /* network provided */
};