X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=remote.cpp;h=fc28a59544ca4cf08dfbc5e4b0565ac12c307316;hp=6fcb64bb5848756fed3de04a7e6daa038048c1b9;hb=bdd274c5e8ac1f53fb2fb38995833a57b6475088;hpb=c33007184de93d4a36bc16461964753946437916 diff --git a/remote.cpp b/remote.cpp index 6fcb64b..fc28a59 100644 --- a/remote.cpp +++ b/remote.cpp @@ -80,9 +80,11 @@ int Premote::message_epoint(unsigned int epoint_id, int message_type, union para else SCPY(param->setup.dialinginfo.context, "lcr"); } - /* screen */ + memcpy(&p_dialinginfo, ¶m->setup.dialinginfo, sizeof(p_dialinginfo)); + memcpy(&p_capainfo, ¶m->setup.capainfo, sizeof(p_capainfo)); memcpy(&p_callerinfo, ¶m->setup.callerinfo, sizeof(p_callerinfo)); memcpy(&p_redirinfo, ¶m->setup.redirinfo, sizeof(p_redirinfo)); + /* screen */ do_screen(1, p_callerinfo.id, sizeof(p_callerinfo.id), &p_callerinfo.ntype, &p_callerinfo.present, p_interface_name); do_screen(1, p_callerinfo.id2, sizeof(p_callerinfo.id2), &p_callerinfo.ntype2, &p_callerinfo.present2, p_interface_name); do_screen(1, p_redirinfo.id, sizeof(p_redirinfo.id), &p_redirinfo.ntype, &p_redirinfo.present, p_interface_name); @@ -101,6 +103,7 @@ int Premote::message_epoint(unsigned int epoint_id, int message_type, union para break; case MESSAGE_CONNECT: + memcpy(&p_connectinfo, ¶m->connectinfo, sizeof(p_connectinfo)); new_state(PORT_STATE_CONNECT); break; @@ -141,7 +144,7 @@ void Premote::message_remote(int message_type, union parameter *param) read_audio(param->traffic.data, param->traffic.len); admin_message_from_lcr(p_r_remote_id, p_r_ref, MESSAGE_TRAFFIC, param); } - break; + return; case MESSAGE_SETUP: interface = getinterfacebyname(p_interface_name); @@ -172,6 +175,11 @@ void Premote::message_remote(int message_type, union parameter *param) epointlist_new(epoint->ep_serial); + memcpy(&p_dialinginfo, ¶m->setup.dialinginfo, sizeof(p_dialinginfo)); + memcpy(&p_capainfo, ¶m->setup.capainfo, sizeof(p_capainfo)); + memcpy(&p_callerinfo, ¶m->setup.callerinfo, sizeof(p_callerinfo)); + memcpy(&p_redirinfo, ¶m->setup.redirinfo, sizeof(p_redirinfo)); + new_state(PORT_STATE_IN_SETUP); break; @@ -184,6 +192,7 @@ void Premote::message_remote(int message_type, union parameter *param) break; case MESSAGE_CONNECT: + memcpy(&p_connectinfo, ¶m->connectinfo, sizeof(p_connectinfo)); new_state(PORT_STATE_CONNECT); break;