X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=apppbx.cpp;h=e491a5731e5de115611882ea7d0c5803bafa77c2;hp=a0a14d01e490cf9468a696a795f1d3547328957a;hb=d2b113f2c4f11acfaee1b2e0fd2f03744a89f6d4;hpb=8038fd190f3c0b451c07253190ec1d7de9ea822a diff --git a/apppbx.cpp b/apppbx.cpp index a0a14d0..e491a57 100644 --- a/apppbx.cpp +++ b/apppbx.cpp @@ -10,14 +10,6 @@ \*****************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include #include "main.h" class EndpointAppPBX *apppbx_first = NULL; @@ -81,6 +73,7 @@ EndpointAppPBX::EndpointAppPBX(class Endpoint *epoint, int origin) : EndpointApp e_dtmf = 0; e_dtmf_time = 0; e_dtmf_last = 0; + e_enablekeypad = 0; e_cfnr_release = 0; e_cfnr_call = 0; e_password_timeout = 0; @@ -146,7 +139,7 @@ void EndpointAppPBX::trace_header(char *name, int direction) /* init trace with given values */ start_trace(0, NULL, - numberrize_callerinfo(e_callerinfo.id, e_callerinfo.ntype), + numberrize_callerinfo(e_callerinfo.id, e_callerinfo.ntype, options.national, options.international), e_dialinginfo.id, direction, CATEGORY_EP, @@ -246,6 +239,7 @@ void EndpointAppPBX::release(int release, int joinlocation, int joincause, int p e_dtmf = 0; e_dtmf_time = 0; e_dtmf_last = 0; + e_enablekeypad = 0; e_cfnr_release = 0; e_cfnr_call = 0; e_multipoint_cause = 0; @@ -282,7 +276,7 @@ void EndpointAppPBX::release(int release, int joinlocation, int joincause, int p } else { /* numberrize caller id and use it to dial to the callback */ - SCPY(e_dialinginfo.id, numberrize_callerinfo(e_callerinfo.id,e_callerinfo.ntype)); + SCPY(e_dialinginfo.id, numberrize_callerinfo(e_callerinfo.id,e_callerinfo.ntype, options.national, options.international)); } e_dialinginfo.itype = INFO_ITYPE_ISDN; e_dialinginfo.ntype = INFO_NTYPE_UNKNOWN; @@ -338,7 +332,7 @@ char *EndpointAppPBX::apply_callerid_display(char *id, int itype, int ntype, int static char display[81]; display[0] = '\0'; - char *cid = numberrize_callerinfo(id, ntype); + char *cid = numberrize_callerinfo(id, ntype, options.national, options.international); PDEBUG(DEBUG_EPOINT, "EPOINT(%d) id='%s' itype=%d ntype=%d present=%d screen=%d extension='%s' name='%s'\n", ea_endpoint->ep_serial, (id)?id:"NULL", itype, ntype, present, screen, (extension)?extension:"NULL", (name)?name:"NULL"); @@ -629,7 +623,7 @@ foundif: if (!interface->ifport) { /* no ports */ - trace_header("CHANNEL SELECTION (interface has no active ports, skipping)", DIRECTION_NONE); + trace_header("CHANNEL SELECTION (active ports, skipping)", DIRECTION_NONE); add_trace("interface", NULL, "%s", interface->name); end_trace(); interface = interface->next; @@ -680,7 +674,7 @@ foundif: /* see if link is up on PTP*/ if (mISDNport->l2hold && !mISDNport->l2link) { - trace_header("CHANNEL SELECTION (port holds layer 2, but layer 2 is down, skipping)", DIRECTION_NONE); + trace_header("CHANNEL SELECTION (port's layer 2 is down, skipping)", DIRECTION_NONE); add_trace("port", NULL, "%d", ifport->portnum); add_trace("position", NULL, "%d", index); end_trace(); @@ -817,6 +811,11 @@ foundif: if (ifport != ifport_start) goto nextport; + if (!ifname) { + interface = interface->next; + goto checknext; + } + return(NULL); /* no port found */ } @@ -1031,7 +1030,7 @@ void EndpointAppPBX::out_setup(void) if (message->param.setup.callerinfo.id[0] && e_ext.clip_prefix[0]) { SCPY(message->param.setup.callerinfo.id, e_ext.clip_prefix); - SCAT(message->param.setup.callerinfo.id, numberrize_callerinfo(e_callerinfo.id,e_callerinfo.ntype)); + SCAT(message->param.setup.callerinfo.id, numberrize_callerinfo(e_callerinfo.id,e_callerinfo.ntype, options.national, options.international)); message->param.setup.callerinfo.ntype = INFO_NTYPE_UNKNOWN; } /* use internal caller id */ @@ -1344,7 +1343,7 @@ int EndpointAppPBX::handler(void) } /* put on hold */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_HOLD; + message->param.audiopath = 0; message_put(message); /* indicate no patterns */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_NOPATTERN); @@ -1479,7 +1478,7 @@ void EndpointAppPBX::port_setup(struct port_list *portlist, int message_type, un memcpy(&e_dialinginfo, ¶m->setup.dialinginfo, sizeof(e_dialinginfo)); memcpy(&e_redirinfo, ¶m->setup.redirinfo, sizeof(e_redirinfo)); memcpy(&e_capainfo, ¶m->setup.capainfo, sizeof(e_capainfo)); - e_dtmf = param->setup.dtmf; +// e_dtmf = param->setup.dtmf; /* screen incoming caller id */ interface = interface_first; while(interface) @@ -1669,7 +1668,7 @@ void EndpointAppPBX::port_information(struct port_list *portlist, int message_ty /* keypad when connected */ if (e_state == EPOINT_STATE_CONNECT) { - if (e_ext.keypad) + if (e_ext.keypad || e_enablekeypad) { PDEBUG(DEBUG_EPOINT, "EPOINT(%d) keypad information received during connect: %s.\n", ea_endpoint->ep_serial, param->information.id); /* processing keypad function */ @@ -1876,7 +1875,7 @@ void EndpointAppPBX::port_overlap(struct port_list *portlist, int message_type, /* connect audio, if not already */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); } else { @@ -1886,7 +1885,7 @@ void EndpointAppPBX::port_overlap(struct port_list *portlist, int message_type, /* disconnect audio, if not already */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_HOLD; + message->param.audiopath = 0; message_put(message); } new_state(EPOINT_STATE_OUT_OVERLAP); @@ -1919,7 +1918,7 @@ void EndpointAppPBX::port_proceeding(struct port_list *portlist, int message_typ /* connect audio, if not already */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); } else { @@ -1929,7 +1928,7 @@ void EndpointAppPBX::port_proceeding(struct port_list *portlist, int message_typ /* disconnect audio, if not already */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_HOLD; + message->param.audiopath = 0; message_put(message); } /* if we are in a call */ @@ -1950,6 +1949,9 @@ void EndpointAppPBX::port_alerting(struct port_list *portlist, int message_type, /* signal to call tool */ admin_call_response(e_adminid, ADMIN_CALL_ALERTING, "", 0, 0, 0); +//#warning hack!! +// if (e_adminid) +// set_tone(portlist, "hold"); new_state(EPOINT_STATE_OUT_ALERTING); /* check if pattern is available */ @@ -1961,7 +1963,7 @@ void EndpointAppPBX::port_alerting(struct port_list *portlist, int message_type, /* connect audio, if not already */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); } else { @@ -1971,7 +1973,7 @@ void EndpointAppPBX::port_alerting(struct port_list *portlist, int message_type, /* disconnect audio, if not already */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_HOLD; + message->param.audiopath = 0; message_put(message); } /* if we are in a call */ @@ -1988,7 +1990,7 @@ void EndpointAppPBX::port_connect(struct port_list *portlist, int message_type, { struct lcr_msg *message; char buffer[256]; - unsigned long port_id = portlist->port_id; + unsigned int port_id = portlist->port_id; struct port_list *tportlist; class Port *port; struct interface *interface; @@ -1996,7 +1998,7 @@ void EndpointAppPBX::port_connect(struct port_list *portlist, int message_type, logmessage(message_type, param, portlist->port_id, DIRECTION_IN); /* signal to call tool */ - admin_call_response(e_adminid, ADMIN_CALL_CONNECT, numberrize_callerinfo(param->connectinfo.id,param->connectinfo.ntype), 0, 0, 0); + admin_call_response(e_adminid, ADMIN_CALL_CONNECT, numberrize_callerinfo(param->connectinfo.id,param->connectinfo.ntype, options.national, options.international), 0, 0, 0); memcpy(&e_connectinfo, ¶m->connectinfo, sizeof(e_connectinfo)); PDEBUG(DEBUG_EPOINT, "EPOINT(%d) removing all other ports (start)\n", ea_endpoint->ep_serial); @@ -2082,7 +2084,7 @@ void EndpointAppPBX::port_connect(struct port_list *portlist, int message_type, port = find_port_id(portlist->port_id); if (port) { - SCPY(e_connectinfo.id, nationalize_callerinfo(port->p_dialinginfo.id, &e_connectinfo.ntype)); + SCPY(e_connectinfo.id, nationalize_callerinfo(port->p_dialinginfo.id, &e_connectinfo.ntype, options.national, options.international)); e_connectinfo.present = INFO_PRESENT_ALLOWED; } } @@ -2096,7 +2098,7 @@ void EndpointAppPBX::port_connect(struct port_list *portlist, int message_type, message_put(message); message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); } else if (!e_adminid) { @@ -2198,7 +2200,7 @@ void EndpointAppPBX::port_disconnect_release(struct port_list *portlist, int mes { struct lcr_msg *message; char buffer[256]; - unsigned long port_id = portlist->port_id; + unsigned int port_id = portlist->port_id; int cause, location; @@ -2296,7 +2298,7 @@ void EndpointAppPBX::port_disconnect_release(struct port_list *portlist, int mes message_put(message); /* connect audio, if not already */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); /* send disconnect */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, message_type); @@ -2415,7 +2417,7 @@ void EndpointAppPBX::port_notify(struct port_list *portlist, int message_type, u char buffer[64]; /* signal to call tool */ - admin_call_response(e_adminid, ADMIN_CALL_NOTIFY, numberrize_callerinfo(param->notifyinfo.id,param->notifyinfo.ntype), 0, 0, param->notifyinfo.notify); + admin_call_response(e_adminid, ADMIN_CALL_NOTIFY, numberrize_callerinfo(param->notifyinfo.id,param->notifyinfo.ntype, options.national, options.international), 0, 0, param->notifyinfo.notify); if (param->notifyinfo.notify) { e_rx_state = track_notify(e_rx_state, param->notifyinfo.notify); @@ -2430,7 +2432,7 @@ void EndpointAppPBX::port_notify(struct port_list *portlist, int message_type, u if (ea_endpoint->ep_join_id) { message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_HOLD; + message->param.audiopath = 0; message_put(message); } break; @@ -2455,7 +2457,7 @@ void EndpointAppPBX::port_notify(struct port_list *portlist, int message_type, u if (ea_endpoint->ep_join_id) { message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); } break; @@ -2593,7 +2595,7 @@ void EndpointAppPBX::port_resume(struct port_list *portlist, int message_type, u /* port sends message to the endpoint */ -void EndpointAppPBX::ea_message_port(unsigned long port_id, int message_type, union parameter *param) +void EndpointAppPBX::ea_message_port(unsigned int port_id, int message_type, union parameter *param) { struct port_list *portlist; struct lcr_msg *message; @@ -2774,6 +2776,7 @@ void EndpointAppPBX::ea_message_port(unsigned long port_id, int message_type, un break; #if 0 + kann nach dem test gelöscht werden, da eine direkte funktion im join und im mISDN zum austausch der message existiert /* port assigns bchannel */ case MESSAGE_BCHANNEL: /* bchannel assignment messafe */ PDEBUG(DEBUG_EPOINT, "EPOINT(%d) epoint with terminal '%s' (caller id '%s') received bchannel message %d from port.\n", ea_endpoint->ep_serial, e_ext.number, e_callerinfo.id, param->bchannel.type); @@ -2872,7 +2875,7 @@ void EndpointAppPBX::join_overlap(struct port_list *portlist, int message_type, { /* disconnect audio */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_HOLD; + message->param.audiopath = 0; message_put(message); } if (e_action) if (e_action->index == ACTION_OUTDIAL || e_action->index == ACTION_EXTERNAL) @@ -2902,9 +2905,9 @@ void EndpointAppPBX::join_proceeding(struct port_list *portlist, int message_typ /* connect / disconnect audio */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); if (e_ext.own_proceeding) - message->param.audiopath = CHANNEL_STATE_HOLD; + message->param.audiopath = 0; else - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); } // UCPY(e_join_tone, "proceeding"); @@ -2930,9 +2933,9 @@ void EndpointAppPBX::join_alerting(struct port_list *portlist, int message_type, /* connect / disconnect audio */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); if (e_ext.own_alerting) - message->param.audiopath = CHANNEL_STATE_HOLD; + message->param.audiopath = 0; else - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); } if (portlist) @@ -2959,8 +2962,10 @@ void EndpointAppPBX::join_connect(struct port_list *portlist, int message_type, new_state(EPOINT_STATE_CONNECT); // UCPY(e_join_tone, ""); +// if (e_ext.number[0]) e_dtmf = 1; /* allow dtmf */ + e_powerdialing = 0; memcpy(&e_connectinfo, ¶m->connectinfo, sizeof(e_callerinfo)); if(portlist) @@ -2972,7 +2977,7 @@ void EndpointAppPBX::join_connect(struct port_list *portlist, int message_type, if (e_ext.number[0] && message->param.connectinfo.id[0] && e_ext.clip_prefix[0]) { SCPY(message->param.connectinfo.id, e_ext.clip_prefix); - SCAT(message->param.connectinfo.id, numberrize_callerinfo(e_connectinfo.id,e_connectinfo.ntype)); + SCAT(message->param.connectinfo.id, numberrize_callerinfo(e_connectinfo.id,e_connectinfo.ntype, options.national, options.international)); message->param.connectinfo.ntype = INFO_NTYPE_UNKNOWN; } @@ -2999,7 +3004,7 @@ void EndpointAppPBX::join_connect(struct port_list *portlist, int message_type, set_tone(portlist, NULL); e_join_pattern = 0; message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); e_start = now; } @@ -3105,7 +3110,7 @@ void EndpointAppPBX::join_disconnect_release(int message_type, union parameter * } else /* else we enable audio */ { message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); } /* send disconnect message */ @@ -3147,7 +3152,7 @@ void EndpointAppPBX::join_setup(struct port_list *portlist, int message_type, un /* disconnect audio */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_HOLD; + message->param.audiopath = 0; message_put(message); /* get dialing info */ @@ -3313,7 +3318,7 @@ void EndpointAppPBX::join_notify(struct port_list *portlist, int message_type, u /* JOIN sends messages to the endpoint */ -void EndpointAppPBX::ea_message_join(unsigned long join_id, int message_type, union parameter *param) +void EndpointAppPBX::ea_message_join(unsigned int join_id, int message_type, union parameter *param) { struct port_list *portlist; struct lcr_msg *message; @@ -3438,6 +3443,7 @@ void EndpointAppPBX::ea_message_join(unsigned long join_id, int message_type, un break; #if 0 + kann nach dem test gelöscht werden, da eine direkte funktion im join und im mISDN zum austausch der message existiert /* JOIN requests bchannel */ case MESSAGE_BCHANNEL: /* indicates the need of own bchannel access */ PDEBUG(DEBUG_EPOINT, "EPOINT(%d) epoint with terminal '%s' (caller id '%s') received bchannel assignment %d from join.\n", ea_endpoint->ep_serial, e_ext.number, e_callerinfo.id, param->bchannel.type); @@ -3469,13 +3475,8 @@ void EndpointAppPBX::ea_message_join(unsigned long join_id, int message_type, un } /* connect our audio tx and rx (blueboxing should be possibe before connect :)*/ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); -// /* tell remote epoint to connect audio also, because we like to hear the patterns */ -// message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_REMOTE_AUDIO); -// message->param.audiopath = CHANNEL_STATE_CONNECT; -// message_put(message); -// patterns are available, remote already connected audio } break; @@ -3488,7 +3489,7 @@ void EndpointAppPBX::ea_message_join(unsigned long join_id, int message_type, un e_join_pattern = 0; /* disconnect our audio tx and rx */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_HOLD; + message->param.audiopath = 0; message_put(message); } break; @@ -3509,6 +3510,15 @@ void EndpointAppPBX::ea_message_join(unsigned long join_id, int message_type, un join_notify(portlist, message_type, param); break; + /* JOIN wants keypad / dtml */ + case MESSAGE_ENABLEKEYPAD: + PDEBUG(DEBUG_EPOINT, "EPOINT(%d) epoint with terminal '%s' (caller id '%s') received keypad enable request.\n", ea_endpoint->ep_serial, e_ext.number, e_callerinfo.id); + e_enablekeypad = 1; + e_dtmf = 1; + trace_header("ENABLE KEYPAD", DIRECTION_NONE); + end_trace(); + break; + default: PDEBUG(DEBUG_EPOINT, "EPOINT(%d) epoint with terminal '%s' (caller id '%s') received a wrong message: #%d\n", ea_endpoint->ep_serial, e_ext.number, e_callerinfo.id, message); } @@ -3688,7 +3698,8 @@ reject: /* connnecting our endpoint */ new_state(EPOINT_STATE_CONNECT); - e_dtmf = 1; + if (e_ext.number[0]) + e_dtmf = 1; set_tone(ea_endpoint->ep_portlist, NULL); /* now we send a release to the ringing endpoint */ @@ -3721,7 +3732,7 @@ reject: /* we send a connect to the audio path (not for vbox) */ message = message_create(ea_endpoint->ep_serial, ea_endpoint->ep_join_id, EPOINT_TO_JOIN, MESSAGE_AUDIOPATH); - message->param.audiopath = CHANNEL_STATE_CONNECT; + message->param.audiopath = 1; message_put(message); /* beeing paranoid, we make call update */ @@ -4041,7 +4052,7 @@ int EndpointAppPBX::check_external(char **errstr, class Port **port) return(0); } -void EndpointAppPBX::logmessage(int message_type, union parameter *param, unsigned long port_id, int dir) +void EndpointAppPBX::logmessage(int message_type, union parameter *param, unsigned int port_id, int dir) { char *logtext = "unknown"; char buffer[64]; @@ -4056,7 +4067,7 @@ void EndpointAppPBX::logmessage(int message_type, union parameter *param, unsign add_trace("from", NULL, "CH(%lu)", port_id); if (param->setup.callerinfo.extension[0]) add_trace("extension", NULL, "%s", param->setup.callerinfo.extension); - add_trace("caller id", "number", "%s", numberrize_callerinfo(param->setup.callerinfo.id, param->setup.callerinfo.ntype)); + add_trace("caller id", "number", "%s", numberrize_callerinfo(param->setup.callerinfo.id, param->setup.callerinfo.ntype, options.national, options.international)); switch(param->setup.callerinfo.present) { case INFO_PRESENT_RESTRICTED: @@ -4070,7 +4081,7 @@ void EndpointAppPBX::logmessage(int message_type, union parameter *param, unsign } if (param->setup.redirinfo.id[0]) { - add_trace("redir'ing", "number", "%s", numberrize_callerinfo(param->setup.redirinfo.id, param->setup.redirinfo.ntype)); + add_trace("redir'ing", "number", "%s", numberrize_callerinfo(param->setup.redirinfo.id, param->setup.redirinfo.ntype, options.national, options.international)); switch(param->setup.redirinfo.present) { case INFO_PRESENT_RESTRICTED: @@ -4123,7 +4134,7 @@ void EndpointAppPBX::logmessage(int message_type, union parameter *param, unsign add_trace("from", NULL, "CH(%lu)", port_id); if (param->connectinfo.extension[0]) add_trace("extension", NULL, "%s", param->connectinfo.extension); - add_trace("connect id", "number", "%s", numberrize_callerinfo(param->connectinfo.id, param->connectinfo.ntype)); + add_trace("connect id", "number", "%s", numberrize_callerinfo(param->connectinfo.id, param->connectinfo.ntype, options.national, options.international)); switch(param->connectinfo.present) { case INFO_PRESENT_RESTRICTED: @@ -4270,7 +4281,7 @@ void EndpointAppPBX::logmessage(int message_type, union parameter *param, unsign add_trace("indicator", NULL, "%s", logtext); if (param->notifyinfo.id[0]) { - add_trace("redir'on", "number", "%s", numberrize_callerinfo(param->notifyinfo.id, param->notifyinfo.ntype)); + add_trace("redir'on", "number", "%s", numberrize_callerinfo(param->notifyinfo.id, param->notifyinfo.ntype, options.national, options.international)); switch(param->notifyinfo.present) { case INFO_PRESENT_RESTRICTED: