X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=dss1.cpp;h=a5d32bd4a836798343902849569205a37a19c2b1;hp=13fa85fc07cf09cf2e486734b144031f7e8a5a9f;hb=2188efe2cc9dfb473bf41540960382d7c43b892e;hpb=6db34c1dca5c3a2acd0af689319b583ff8271dbc diff --git a/dss1.cpp b/dss1.cpp index 13fa85f..a5d32bd 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; @@ -753,7 +771,7 @@ void Pdss1::information_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l p_dialinginfo.ntype = INFO_NTYPE_UNKNOWN; break; } - SCAT(p_dialinginfo.display, (char *)display); + SCPY(p_dialinginfo.display, (char *)display); message = message_create(p_serial, ACTIVE_EPOINT(p_epointlist), PORT_TO_EPOINT, MESSAGE_INFORMATION); memcpy(&message->param.information, &p_dialinginfo, sizeof(struct dialing_info)); message_put(message); @@ -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; @@ -1064,8 +1088,10 @@ void Pdss1::disconnect_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3 dec_ie_display(l3m, (unsigned char *)display, sizeof(display)); end_trace(); - if (cause < 0) + if (cause < 0) { cause = 16; + location = LOCATION_PRIVATE_LOCAL; + } /* release if remote sends us no tones */ if (!p_m_mISDNport->earlyb) { @@ -1152,8 +1178,10 @@ void Pdss1::release_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m) dec_ie_display(l3m, (unsigned char *)display, sizeof(display)); end_trace(); - if (cause < 0) + if (cause < 0) { cause = 16; + location = LOCATION_PRIVATE_LOCAL; + } /* sending release to endpoint */ if (location == LOCATION_PRIVATE_LOCAL) @@ -1203,8 +1231,10 @@ void Pdss1::release_complete_ind(unsigned int cmd, unsigned int pid, struct l3_m if (location == LOCATION_PRIVATE_LOCAL) location = LOCATION_PRIVATE_REMOTE; - if (cause < 0) + if (cause < 0) { cause = 16; + location = LOCATION_PRIVATE_LOCAL; + } /* sending release to endpoint */ while(p_epointlist) { @@ -1860,7 +1890,7 @@ void Pdss1::message_information(unsigned int epoint_id, int message_id, union pa enc_ie_called_pn(l3m, 0, 1, (unsigned char *)number, max); if ((p_m_d_ntmode || p_m_d_tespecial) && display[0]) { enc_ie_display(l3m, (unsigned char *)display); - display = ""; + display = (char *)""; } end_trace(); p_m_mISDNport->ml3->to_layer3(p_m_mISDNport->ml3, MT_INFORMATION, p_m_d_l3id, l3m); @@ -1996,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; @@ -2034,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; @@ -2088,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; @@ -2191,7 +2239,7 @@ void Pdss1::message_notify(unsigned int epoint_id, int message_id, union paramet int notify; int plan = 0, type = -1, present = 0; - printf("if = %d\n", param->notifyinfo.notify); +// printf("if = %d\n", param->notifyinfo.notify); if (param->notifyinfo.notify>INFO_NOTIFY_NONE) notify = param->notifyinfo.notify & 0x7f; else @@ -2425,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;