X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=action.cpp;h=4b3f3838b67f2733a50811ebc7758971aa6fb0f8;hp=d0dbf8d223bc514d315b61211f81a80377c8b227;hb=db6990e487255e8b206ef67d8d99fa74849a9a11;hpb=701b046a45c2c79cc6d07ac3a4f84f499f7ed376 diff --git a/action.cpp b/action.cpp index d0dbf8d..4b3f383 100644 --- a/action.cpp +++ b/action.cpp @@ -90,7 +90,7 @@ void EndpointAppPBX::_action_init_call(char *remote) admin = admin_first; while(admin) { - if (admin->remote[0] && !strcmp(admin->remote, remote)) + if (admin->remote_name[0] && !strcmp(admin->remote_name, remote)) break; admin = admin->next; } @@ -105,7 +105,7 @@ void EndpointAppPBX::_action_init_call(char *remote) set_tone(portlist,"cause_22"); return; } - join = new JoinRemote(ea_endpoint->ep_serial, remote); + join = new JoinRemote(ea_endpoint->ep_serial, remote, admin->sock); } else join = new JoinPBX(ea_endpoint); @@ -546,7 +546,7 @@ void EndpointAppPBX::action_init_partyline(void) struct port_list *portlist = ea_endpoint->ep_portlist; struct message *message; struct route_param *rparam; - int partyline; + int partyline, jingle = 0; struct join_relation *relation; portlist = ea_endpoint->ep_portlist; @@ -571,6 +571,8 @@ void EndpointAppPBX::action_init_partyline(void) goto noroom; } partyline = rparam->integer_value; + if ((rparam = routeparam(e_action, PARAM_JINGLE))) + jingle = 1; /* don't create join if partyline exists */ join = join_first; @@ -579,7 +581,7 @@ void EndpointAppPBX::action_init_partyline(void) if (join->j_type == JOIN_TYPE_PBX) { joinpbx = (class JoinPBX *)join; - if (joinpbx->j_partyline == rparam->integer_value) + if (joinpbx->j_partyline == partyline) break; } join = join->next; @@ -614,9 +616,11 @@ void EndpointAppPBX::action_init_partyline(void) /* send setup to join */ trace_header("ACTION partyline (calling)", DIRECTION_NONE); add_trace("room", NULL, "%d", partyline); + add_trace("jingle", NULL, (jingle)?"on":"off"); end_trace(); message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_SETUP); message->param.setup.partyline = partyline; + message->param.setup.partyline_jingle = jingle; memcpy(&message->param.setup.dialinginfo, &e_dialinginfo, sizeof(struct dialing_info)); memcpy(&message->param.setup.redirinfo, &e_redirinfo, sizeof(struct redir_info)); memcpy(&message->param.setup.callerinfo, &e_callerinfo, sizeof(struct caller_info));