again, the forwarding number is dialed after timeout.
modified: apppbx.cpp
modified: apppbx.h
modified: socket_server.c
* ports will be created and a setup is sent if everything is ok. otherwhise
* the endpoint is destroyed.
*/
* ports will be created and a setup is sent if everything is ok. otherwhise
* the endpoint is destroyed.
*/
-void EndpointAppPBX::out_setup(void)
+void EndpointAppPBX::out_setup(int cfnr)
{
struct dialing_info dialinginfo;
class Port *port;
{
struct dialing_info dialinginfo;
class Port *port;
p = e_ext.cfnr;
if (*p) {
/* when cfnr is done, out_setup() will setup the call */
p = e_ext.cfnr;
if (*p) {
/* when cfnr is done, out_setup() will setup the call */
- if (e_cfnr_call_timeout.active) {
/* present to forwarded party */
if (e_ext.anon_ignore && e_callerinfo.id[0]) {
e_callerinfo.present = INFO_PRESENT_ALLOWED;
/* present to forwarded party */
if (e_ext.anon_ignore && e_callerinfo.id[0]) {
e_callerinfo.present = INFO_PRESENT_ALLOWED;
ea->new_state(EPOINT_STATE_OUT_SETUP);
/* call special setup routine */
ea->new_state(EPOINT_STATE_OUT_SETUP);
/* call special setup routine */
class EndpointAppPBX *ea = (class EndpointAppPBX *)instance;
PDEBUG(DEBUG_EPOINT, "EPOINT(%d) call-forward-busy time has expired, calling the forwarded number: %s.\n", ea->ea_endpoint->ep_serial, ea->e_ext.cfnr);
class EndpointAppPBX *ea = (class EndpointAppPBX *)instance;
PDEBUG(DEBUG_EPOINT, "EPOINT(%d) call-forward-busy time has expired, calling the forwarded number: %s.\n", ea->ea_endpoint->ep_serial, ea->e_ext.cfnr);
/* epoint is idle, check callback */
PDEBUG(DEBUG_EPOINT, "EPOINT(%d) starting callback.\n", ea->ea_endpoint->ep_serial);
ea->new_state(EPOINT_STATE_OUT_SETUP);
/* epoint is idle, check callback */
PDEBUG(DEBUG_EPOINT, "EPOINT(%d) starting callback.\n", ea->ea_endpoint->ep_serial);
ea->new_state(EPOINT_STATE_OUT_SETUP);
new_state(EPOINT_STATE_OUT_SETUP);
/* call special setup routine */
new_state(EPOINT_STATE_OUT_SETUP);
/* call special setup routine */
}
/* join MESSAGE_mISDNSIGNAL */
}
/* join MESSAGE_mISDNSIGNAL */
void notify_active(void);
void keypad_function(char digit);
void set_tone(struct port_list *portlist, const char *tone);
void notify_active(void);
void keypad_function(char digit);
void set_tone(struct port_list *portlist, const char *tone);
+ void out_setup(int cfnr);
struct mISDNport *hunt_port(char *ifname, int *channel);
char *apply_callerid_display(const char *id, int itype, int ntype, int present, int screen, const char *extension, const char *name);
void auth(int job, int bit_num);
struct mISDNport *hunt_port(char *ifname, int *channel);
char *apply_callerid_display(const char *id, int itype, int ntype, int present, int screen, const char *extension, const char *name);
void auth(int job, int bit_num);
apppbx->e_dialinginfo.sending_complete = 1;
apppbx->new_state(PORT_STATE_OUT_SETUP);
apppbx->e_dialinginfo.sending_complete = 1;
apppbx->new_state(PORT_STATE_OUT_SETUP);