aboutsummaryrefslogtreecommitdiffstats
path: root/channels/misdn
diff options
context:
space:
mode:
authorcrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-02-08 19:39:37 +0000
committercrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-02-08 19:39:37 +0000
commit815fea258bbfdc9be9febc826fcc27b59f513381 (patch)
treebf47e7a542827d62482f2e638757ae110a38d0d1 /channels/misdn
parente7530666c1bac5a8c383bf837dad5e6ee09a3e77 (diff)
L2 Signalling in PTP-TE Mode fixed
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9223 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/misdn')
-rw-r--r--channels/misdn/isdn_lib.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c
index acd3a9f9e..b7b78f6f9 100644
--- a/channels/misdn/isdn_lib.c
+++ b/channels/misdn/isdn_lib.c
@@ -635,6 +635,18 @@ int misdn_lib_get_l2_up(struct misdn_stack *stack)
return 0;
}
+int misdn_lib_get_l2_te_ptp_up(struct misdn_stack *stack)
+{
+ iframe_t act;
+
+ act.prim = DL_ESTABLISH | REQUEST;
+ act.addr = (stack->upper_id & ~LAYER_ID_MASK) | 3 | FLG_MSG_DOWN;
+
+ act.dinfo = 0;
+ act.len = 0;
+ return mISDN_write(stack->midev, &act, mISDN_HEADER_LEN+act.len, TIMEOUT_1SEC);
+ return 0;
+}
int misdn_lib_get_l2_status(struct misdn_stack *stack)
{
@@ -656,9 +668,9 @@ int misdn_lib_get_short_status(struct misdn_stack *stack)
act.prim = MGR_SHORTSTATUS | REQUEST;
- act.addr = (stack->upper_id | FLG_MSG_DOWN) ;
+ act.addr = (stack->upper_id | MSG_BROADCAST) ;
- act.dinfo = SSTATUS_L1;
+ act.dinfo = SSTATUS_BROADCAST_BIT | SSTATUS_ALL;
act.len = 0;
return mISDN_write(stack->midev, &act, mISDN_HEADER_LEN+act.len, TIMEOUT_1SEC);
@@ -1129,6 +1141,7 @@ struct misdn_stack* stack_init( int midev, int port, int ptp )
stack->l1link=1;
}
+ misdn_lib_get_short_status(stack);
misdn_lib_get_l1_up(stack);
misdn_lib_get_l2_up(stack);
@@ -2312,6 +2325,7 @@ int handle_mgmt(msg_t *msg)
case SSTATUS_L1_ACTIVATED:
cb_log(1, 0, "MGMT: SSTATUS: L1_ACTIVATED \n");
stack->l1link=1;
+
break;
case SSTATUS_L1_DEACTIVATED:
cb_log(1, 0, "MGMT: SSTATUS: L1_DEACTIVATED \n");