From 19fdc9b14e5377d9c88d8668fa1724e66dd326e0 Mon Sep 17 00:00:00 2001 From: Christian Richter Date: Tue, 23 Jan 2007 10:05:54 +0000 Subject: [PATCH] manually merged r49922 and r50335, because of conflicts. this commint includes addition of the ISDN RESTART Message git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@51648 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_misdn.c | 17 +++++++++++++++++ channels/misdn/isdn_lib.c | 25 +++++++++++++++++++++++++ channels/misdn/isdn_lib.h | 1 + 3 files changed, 43 insertions(+) diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index 28cf4e9cbc..2510df4372 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -792,6 +792,20 @@ static int misdn_restart_pid (int fd, int argc, char *argv[]) return 0; } +static int misdn_send_restart(int fd, int argc, char *argv[]) +{ + int port; + + if (argc != 4) + return RESULT_SHOWUSAGE; + + port = atoi(argv[3]); + + misdn_lib_send_restart(port); + + return 0; +} + static int misdn_port_up (int fd, int argc, char *argv[]) { int port; @@ -1426,6 +1440,9 @@ static struct ast_cli_entry chan_misdn_clis[] = { "Usage: misdn restart port\n" }, { {"misdn","restart","pid", NULL}, misdn_restart_pid, "Restarts the given pid", "Usage: misdn restart pid\n" }, + { {"misdn","send","restart", NULL}, misdn_send_restart, + "Sends a restart for every bchannel on the given port", + "Usage: misdn send restart \n"}, { {"misdn","port","up", NULL}, misdn_port_up, "Tries to establish L1 on the given port", "Usage: misdn port up \n" }, { {"misdn","port","down", NULL}, misdn_port_down, "Tries to deacivate the L1 on the given port", diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c index 69fa12a0c6..d655b9305a 100644 --- a/channels/misdn/isdn_lib.c +++ b/channels/misdn/isdn_lib.c @@ -3603,6 +3603,31 @@ int misdn_lib_pid_restart(int pid) return 0; } +/*Sends Restart message for every bchnanel*/ +int misdn_lib_send_restart(int port) +{ + struct misdn_stack *stack=find_stack_by_port(port); + cb_log(0, port, "Sending Restarts on this port.\n"); + + struct misdn_bchannel dummybc; + memset (&dummybc,0,sizeof(dummybc)); + dummybc.port=stack->port; + dummybc.l3_id=MISDN_ID_DUMMY; + dummybc.nt=stack->nt; + + int max=stack->pri?30:2; + int i; + for (i=1;i