+ /* parse service value */
+ case COND_TYPE_HLC:
+ if (!strncasecmp("telephony", p, 9))
+ cond->integer_value = INFO_HLC_TELEPHONY;
+ else if (!strncasecmp("faxg2g3", p, 7))
+ cond->integer_value = INFO_HLC_FAXG2G3;
+ else if (!strncasecmp("faxg4", p, 5))
+ cond->integer_value = INFO_HLC_FAXG4;
+ else if (!strncasecmp("teletex1", p, 8))
+ cond->integer_value = INFO_HLC_TELETEX1;
+ else if (!strncasecmp("teletex2", p, 8))
+ cond->integer_value = INFO_HLC_TELETEX2;
+ else if (!strncasecmp("teletex3", p, 8))
+ cond->integer_value = INFO_HLC_TELETEX3;
+ else if (!strncasecmp("videotex1", p, 9))
+ cond->integer_value = INFO_HLC_VIDEOTEX1;
+ else if (!strncasecmp("videotex2", p, 9))
+ cond->integer_value = INFO_HLC_VIDEOTEX2;
+ else if (!strncasecmp("telex", p, 5))
+ cond->integer_value = INFO_HLC_TELEX;
+ else if (!strncasecmp("mhs", p, 3))
+ cond->integer_value = INFO_HLC_MHS;
+ else if (!strncasecmp("osi", p, 3))
+ cond->integer_value = INFO_HLC_OSI;
+ else if (!strncasecmp("maintenance", p, 11))
+ cond->integer_value = INFO_HLC_MAINTENANCE;
+ else if (!strncasecmp("management", p, 10))
+ cond->integer_value = INFO_HLC_MANAGEMENT;
+ else if (!strncasecmp("audiovisual", p, 11))
+ cond->integer_value = INFO_HLC_AUDIOVISUAL;
+ else {
+ SPRINT(failure, "Given HLC type is invalid or misspelled.");
+ goto parse_error;
+ }
+ cond->value_type = VALUE_TYPE_INTEGER;
+ break;
+