X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=dss1.cpp;h=43452bb0145956523562a54cb1123e893bab6310;hp=c4a0aa4f099fcd8efeccf74148659a2fc8cd2938;hb=refs%2Fheads%2Fbackup2;hpb=8719f21d8b7fb28c7a6cde388345a5f367455f2c diff --git a/dss1.cpp b/dss1.cpp index c4a0aa4..43452bb 100644 --- a/dss1.cpp +++ b/dss1.cpp @@ -2533,7 +2533,6 @@ void Pdss1::message_connect(unsigned int epoint_id, int message_id, union parame { l3_msg *l3m; int type, plan, present, screen; - class Endpoint *epoint; time_t current_time; /* NT-MODE in setup state we must send PROCEEDING first */ @@ -2553,18 +2552,7 @@ void Pdss1::message_connect(unsigned int epoint_id, int message_id, union parame /* screen outgoing caller id */ do_screen(1, p_connectinfo.id, sizeof(p_connectinfo.id), &p_connectinfo.ntype, &p_connectinfo.present, p_m_mISDNport->ifport->interface->name); - /* only display at connect state */ - if (p_state == PORT_STATE_CONNECT) - if (p_connectinfo.display[0]) { - /* sending information */ - l3m = create_l3msg(); - l1l2l3_trace_header(p_m_mISDNport, this, L3_INFORMATION_REQ, DIRECTION_OUT); - if (p_m_d_ntmode || p_m_d_tespecial) - enc_ie_display(l3m, (unsigned char *)p_connectinfo.display); - end_trace(); - p_m_mISDNport->ml3->to_layer3(p_m_mISDNport->ml3, MT_INFORMATION, p_m_d_l3id, l3m); - return; - } + set_display(p_connectinfo.display); if (p_state!=PORT_STATE_IN_SETUP && p_state!=PORT_STATE_IN_OVERLAP && p_state!=PORT_STATE_IN_PROCEEDING && p_state!=PORT_STATE_IN_ALERTING) { /* connect command only possible in setup, proceeding or alerting state */ @@ -2628,7 +2616,6 @@ void Pdss1::message_connect(unsigned int epoint_id, int message_id, union parame // enc_facility_centrex(&connect->FACILITY, dmsg, (unsigned char *)p_connectinfo.name, 0); /* date & time */ if (p_m_d_ntmode || p_m_d_tespecial) { - epoint = find_epoint_id(epoint_id); time(¤t_time); enc_ie_date(l3m, current_time, p_settings.no_seconds); } @@ -2716,7 +2703,6 @@ if (/* ||*/ p_state==PORT_STATE_OUT_SETUP) { void Pdss1::message_release(unsigned int epoint_id, int message_id, union parameter *param) { l3_msg *l3m; - class Endpoint *epoint; char *p = NULL; /* @@ -2796,7 +2782,6 @@ wirklich erst proceeding?: /* send cause */ enc_ie_cause(l3m, (p_m_mISDNport->locally && param->disconnectinfo.location==LOCATION_PRIVATE_LOCAL)?LOCATION_PRIVATE_LOCAL:param->disconnectinfo.location, param->disconnectinfo.cause); /* send display */ - epoint = find_epoint_id(epoint_id); if (param->disconnectinfo.display[0]) p = param->disconnectinfo.display; if (p) if (*p && (p_m_d_ntmode || p_m_d_tespecial)) @@ -3092,6 +3077,23 @@ int stack2manager(struct mISDNport *mISDNport, unsigned int cmd, unsigned int pi return(0); } +void Pdss1::set_display(const char *text) +{ + l3_msg *l3m; + + /* only display at connect state */ + if (p_state == PORT_STATE_CONNECT) + if (text[0]) { + /* sending information */ + l3m = create_l3msg(); + l1l2l3_trace_header(p_m_mISDNport, this, L3_INFORMATION_REQ, DIRECTION_OUT); + if (p_m_d_ntmode || p_m_d_tespecial) + enc_ie_display(l3m, (unsigned char *)text); + end_trace(); + p_m_mISDNport->ml3->to_layer3(p_m_mISDNport->ml3, MT_INFORMATION, p_m_d_l3id, l3m); + return; + } +}