#define CAPI_FACILITY_LI       0x0005
 
 #define CAPI_SUPPSVC_GETSUPPORTED      0x0000
+#define CAPI_SUPPSVC_LISTEN            0x0001
 
 /* missing from capiutil.h */
 #define CAPIMSG_PLCI_PART(m)   CAPIMSG_U8(m, 9)
        case CAPI_FACILITY_SUPPSVC:
                /* decode Function parameter */
                pparam = cmsg->FacilityRequestParameter;
-               if (pparam == NULL || *pparam < 2) {
+               if (pparam == NULL || pparam[0] < 2) {
                        dev_notice(cs->dev, "%s: %s missing\n", "FACILITY_REQ",
                                   "Facility Request Parameter");
                        send_conf(iif, ap, skb, CapiIllMessageParmCoding);
                        /* Supported Services: none */
                        capimsg_setu32(confparam, 6, 0);
                        break;
+               case CAPI_SUPPSVC_LISTEN:
+                       if (pparam[0] < 7 || pparam[3] < 4) {
+                               dev_notice(cs->dev, "%s: %s missing\n",
+                                          "FACILITY_REQ", "Notification Mask");
+                               send_conf(iif, ap, skb,
+                                         CapiIllMessageParmCoding);
+                               return;
+                       }
+                       if (CAPIMSG_U32(pparam, 4) != 0) {
+                               dev_notice(cs->dev,
+       "%s: unsupported supplementary service notification mask 0x%x\n",
+                                  "FACILITY_REQ", CAPIMSG_U32(pparam, 4));
+                               info = CapiFacilitySpecificFunctionNotSupported;
+                               confparam[3] = 2;       /* length */
+                               capimsg_setu16(confparam, 4,
+                                       CapiSupplementaryServiceNotSupported);
+                       }
+                       info = CapiSuccess;
+                       confparam[3] = 2;       /* length */
+                       capimsg_setu16(confparam, 4, CapiSuccess);
+                       break;
                /* ToDo: add supported services */
                default:
+                       dev_notice(cs->dev,
+               "%s: unsupported supplementary service function 0x%04x\n",
+                                  "FACILITY_REQ", function);
                        info = CapiFacilitySpecificFunctionNotSupported;
                        /* Supplementary Service specific parameter */
                        confparam[3] = 2;       /* length */