@ -13709,25 +13709,36 @@ static char *handle_pri_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_a
ast_cli ( a - > fd , " No PRI running on span %d \n " , span ) ;
ast_cli ( a - > fd , " No PRI running on span %d \n " , span ) ;
return CLI_SUCCESS ;
return CLI_SUCCESS ;
}
}
/* Set debug level in libpri */
for ( x = 0 ; x < SIG_PRI_NUM_DCHANS ; x + + ) {
for ( x = 0 ; x < SIG_PRI_NUM_DCHANS ; x + + ) {
if ( pris [ span - 1 ] . pri . dchans [ x ] ) {
if ( pris [ span - 1 ] . pri . dchans [ x ] ) {
if ( level = = 1 ) {
switch ( level ) {
pri_set_debug ( pris [ span - 1 ] . pri . dchans [ x ] , SIG_PRI_DEBUG_NORMAL ) ;
case 0 :
ast_cli ( a - > fd , " Enabled debugging on span %d \n " , span ) ;
pri_set_debug ( pris [ span - 1 ] . pri . dchans [ x ] , 0 ) ;
} else if ( level = = 0 ) {
break ;
pri_set_debug ( pris [ span - 1 ] . pri . dchans [ x ] , 0 ) ;
case 1 :
/* close the file if it's set */
pri_set_debug ( pris [ span - 1 ] . pri . dchans [ x ] , SIG_PRI_DEBUG_NORMAL ) ;
ast_mutex_lock ( & pridebugfdlock ) ;
break ;
close ( pridebugfd ) ;
default :
pridebugfd = - 1 ;
pri_set_debug ( pris [ span - 1 ] . pri . dchans [ x ] , SIG_PRI_DEBUG_INTENSE ) ;
ast_cli ( a - > fd , " PRI debug output to file disabled \n " ) ;
break ;
ast_mutex_unlock ( & pridebugfdlock ) ;
} else {
pri_set_debug ( pris [ span - 1 ] . pri . dchans [ x ] , SIG_PRI_DEBUG_INTENSE ) ;
ast_cli ( a - > fd , " Enabled debugging on span %d \n " , span ) ;
}
}
}
}
}
}
if ( level = = 0 ) {
/* Close the debugging file if it's set */
ast_mutex_lock ( & pridebugfdlock ) ;
if ( 0 < = pridebugfd ) {
close ( pridebugfd ) ;
pridebugfd = - 1 ;
ast_cli ( a - > fd , " Disabled PRI debug output to file '%s' \n " ,
pridebugfilename ) ;
}
ast_mutex_unlock ( & pridebugfdlock ) ;
}
pris [ span - 1 ] . pri . debug = ( level ) ? 1 : 0 ;
ast_cli ( a - > fd , " %s debugging on span %d \n " , ( level ) ? " Enabled " : " Disabled " , span ) ;
return CLI_SUCCESS ;
return CLI_SUCCESS ;
}
}
# endif /* defined(HAVE_PRI) */
# endif /* defined(HAVE_PRI) */
@ -13944,7 +13955,7 @@ static char *handle_pri_show_debug(struct ast_cli_entry *e, int cmd, struct ast_
int x ;
int x ;
int span ;
int span ;
int count = 0 ;
int count = 0 ;
int debug = 0 ;
int debug ;
switch ( cmd ) {
switch ( cmd ) {
case CLI_INIT :
case CLI_INIT :
@ -13960,7 +13971,6 @@ static char *handle_pri_show_debug(struct ast_cli_entry *e, int cmd, struct ast_
for ( span = 0 ; span < NUM_SPANS ; span + + ) {
for ( span = 0 ; span < NUM_SPANS ; span + + ) {
if ( pris [ span ] . pri . pri ) {
if ( pris [ span ] . pri . pri ) {
for ( x = 0 ; x < SIG_PRI_NUM_DCHANS ; x + + ) {
for ( x = 0 ; x < SIG_PRI_NUM_DCHANS ; x + + ) {
debug = 0 ;
if ( pris [ span ] . pri . dchans [ x ] ) {
if ( pris [ span ] . pri . dchans [ x ] ) {
debug = pri_get_debug ( pris [ span ] . pri . dchans [ x ] ) ;
debug = pri_get_debug ( pris [ span ] . pri . dchans [ x ] ) ;
ast_cli ( a - > fd , " Span %d: Debug: %s \t Intense: %s \n " , span + 1 , ( debug & PRI_DEBUG_Q931_STATE ) ? " Yes " : " No " , ( debug & PRI_DEBUG_Q921_RAW ) ? " Yes " : " No " ) ;
ast_cli ( a - > fd , " Span %d: Debug: %s \t Intense: %s \n " , span + 1 , ( debug & PRI_DEBUG_Q931_STATE ) ? " Yes " : " No " , ( debug & PRI_DEBUG_Q921_RAW ) ? " Yes " : " No " ) ;
@ -13976,7 +13986,7 @@ static char *handle_pri_show_debug(struct ast_cli_entry *e, int cmd, struct ast_
ast_mutex_unlock ( & pridebugfdlock ) ;
ast_mutex_unlock ( & pridebugfdlock ) ;
if ( ! count )
if ( ! count )
ast_cli ( a - > fd , " No debug set or no PRI running\n " ) ;
ast_cli ( a - > fd , " No PRI running\n " ) ;
return CLI_SUCCESS ;
return CLI_SUCCESS ;
}
}
# endif /* defined(HAVE_PRI) */
# endif /* defined(HAVE_PRI) */