+ if (!param->setup.dialinginfo.context[0]) {
+ if (interface->remote_context[0])
+ SCPY(param->setup.dialinginfo.context, interface->remote_context);
+ else
+ SCPY(param->setup.dialinginfo.context, "lcr");
+ }
+ 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);
+ memcpy(¶m->setup.callerinfo, &p_callerinfo, sizeof(p_callerinfo));
+ memcpy(¶m->setup.redirinfo, &p_redirinfo, sizeof(p_redirinfo));
+
+ new_state(PORT_STATE_OUT_SETUP);
+ break;
+
+ case MESSAGE_PROCEEDING:
+ new_state(PORT_STATE_IN_PROCEEDING);
+ break;
+
+ case MESSAGE_ALERTING:
+ new_state(PORT_STATE_IN_ALERTING);
+ break;
+
+ case MESSAGE_CONNECT:
+ memcpy(&p_connectinfo, ¶m->connectinfo, sizeof(p_connectinfo));
+ new_state(PORT_STATE_CONNECT);
+ break;
+
+ case MESSAGE_DISCONNECT:
+ new_state(PORT_STATE_OUT_DISCONNECT);
+ break;
+
+ case MESSAGE_RELEASE:
+ new_state(PORT_STATE_RELEASE);
+ break;