{
struct admin_queue *response;
void *temp;
+#ifdef WITH_MISDN
union parameter param;
class Join *join, *joinnext;
struct mISDNport *mISDNport;
int i, ii;
- struct admin_list **adminp;
class Port *port, *portnext;
class Premote *remote;
+#endif
+ struct admin_list **adminp;
/* free remote joins */
if (admin->remote_name[0]) {
"REMOTE APP release");
add_trace("app", "name", "%s", admin->remote_name);
end_trace();
+#ifdef WITH_MISDN
/* release all exported channels */
mISDNport = mISDNport_first;
while(mISDNport) {
}
mISDNport = mISDNport->next;
}
+#endif
+#ifdef WITH_MISDN
/* release join */
join = join_first;
while(join) {
}
port = portnext;
}
+#endif
}
if (admin->sock >= 0) {
goto out;
}
+#ifdef WITH_MISDN
/* no interface */
if (!ifport->mISDNport) {
/* not loaded anyway */
/* try loading interface */
ifport->block = block;
- load_port(ifport);
+ load_mISDN_port(ifport);
/* port cannot load */
if (ifport->block >= 2) {
ifport->block = 2;
goto out;
}
+#endif
/* port new blocking state */
ifport->block = response->am[0].u.x.block = block;
*/
int admin_message_to_lcr(struct admin_msg *msg, struct admin_list *admin)
{
+#ifdef WITH_MISDN
struct mISDNport *mISDNport;
- class Join *join;
- class JoinRemote *joinremote = NULL; /* make GCC happy */
class Port *port;
class Premote *remote = NULL; /* make GCC happy */
+ class Join *join;
+ class JoinRemote *joinremote = NULL; /* make GCC happy */
+#endif
struct admin_list *temp;
/* hello message */
return(-1);
}
+#ifdef WITH_MISDN
/* new join. the reply (NEWREF assignment) is sent from constructor */
if (msg->type == MESSAGE_NEWREF) {
if (msg->param.newref.mode) {
}
return(0);
}
+#endif
+#ifdef WITH_MISDN
/* bchannel message
* no ref given for *_ack */
if (msg->type == MESSAGE_BCHANNEL)
message_bchannel_from_remote(NULL, msg->param.bchannel.type, msg->param.bchannel.handle);
return(0);
}
+#endif
/* check for ref */
if (!msg->ref) {
return(-1);
}
+#ifdef WITH_MISDN
/* find join instance */
join = join_first;
while(join) {
return(0);
}
+#endif
PDEBUG(DEBUG_LOG, "No remote instance found with ref %d. (May have been already released.)\n", msg->ref);
return(0);
class Port *port;
class EndpointAppPBX *apppbx;
class Join *join;
+#ifdef WITH_MISDN
class Pdss1 *pdss1;
- struct interface *interface;
- struct interface_port *ifport;
struct mISDNport *mISDNport;
struct select_channel *selchannel;
+ int anybusy;
+#endif
+ struct interface *interface;
+ struct interface_port *ifport;
int i;
int num;
- int anybusy;
struct admin_queue *response;
struct admin_list *admin;
struct tm *now_tm;
response->am[num].u.i.extension = interface->extension;
/* block */
response->am[num].u.i.block = ifport->block;
+#ifdef WITH_MISDN
if (ifport->mISDNport) {
mISDNport = ifport->mISDNport;
i++;
}
}
+#endif
num++;
ifport = ifport->next;
if (apppbx->ea_endpoint->ep_park && apppbx->ea_endpoint->ep_park_len && apppbx->ea_endpoint->ep_park_len<=(int)sizeof(response->am[num].u.e.park_callid))
memcpy(response->am[num].u.e.park_callid, apppbx->ea_endpoint->ep_park_callid, apppbx->ea_endpoint->ep_park_len);
response->am[num].u.e.park_len = apppbx->ea_endpoint->ep_park_len;
+#ifdef WITH_CRYPT
/* crypt */
if (apppbx->e_crypt == CRYPT_ON)
response->am[num].u.e.crypt = 1;
+#endif
/* */
apppbx = apppbx->next;
num++;
default:
response->am[num].u.p.state = ADMIN_STATE_IDLE;
}
+#ifdef WITH_MISDN
/* isdn */
if ((port->p_type & PORT_CLASS_mISDN_MASK) == PORT_CLASS_DSS1) {
response->am[num].u.p.isdn = 1;
response->am[num].u.p.isdn_hold = pdss1->p_m_hold;
response->am[num].u.p.isdn_ces = pdss1->p_m_d_ces;
}
+#endif
/* */
port = port->next;
num++;