added possibility to restart channels. works like broadcast facilities without a real process, the user just needs to use the MISDN_ID_DUMMY as l3id (dinfo). This is especially useful if the user Application thinks that there are free channels when the switch from the telco provider thinks there are busy channels, with this restart mechanism they can synchronize, restart_ack will be added when we can test that.
This commit is contained in:
parent
d45c93792d
commit
618cd071d2
|
@ -939,6 +939,14 @@ l3dss1_facility_req(l3_process_t *pc, u_char pr, void *arg)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
l3dss1_restart_req(l3_process_t *pc, u_char pr, void *arg)
|
||||
{
|
||||
if (arg) {
|
||||
SendMsg(pc, arg, -1);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
l3dss1_release_cmpl(l3_process_t *pc, u_char pr, void *arg)
|
||||
{
|
||||
|
@ -2794,6 +2802,14 @@ dss1_fromup(layer3_t *l3, struct sk_buff *skb, mISDN_head_t *hh)
|
|||
return(ret);
|
||||
}
|
||||
|
||||
if (!proc && hh->dinfo == MISDN_ID_DUMMY) {
|
||||
if (hh->prim == (CC_RESTART | REQUEST)) {
|
||||
l3dss1_restart_req(l3->dummy, hh->prim, skb->len ? skb : NULL);
|
||||
ret = 0;
|
||||
}
|
||||
return(ret);
|
||||
}
|
||||
|
||||
if (!proc && (hh->prim == (CC_RELEASE_COMPLETE | REQUEST)) ) {
|
||||
/* crich: */
|
||||
if (l3->debug) l3_debug(l3, "mISDN dss1 sending RELEASE_COMPLETE without proc pr=%04x dinof(%x)", hh->prim, hh->dinfo);
|
||||
|
|
Loading…
Reference in New Issue