added pmp_l1_check option, to avoid l1 checking for group calls on PMP ports
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
parent
5f3af13a97
commit
f6bd1b8559
|
@ -2306,8 +2306,9 @@ static struct ast_channel *misdn_request(const char *type, int format, void *dat
|
|||
|
||||
if (!strcasecmp(cfg_group, group)) {
|
||||
int port_up;
|
||||
|
||||
port_up = misdn_lib_port_up(port);
|
||||
int check;
|
||||
misdn_cfg_get(port, MISDN_CFG_PMP_L1_CHECK, &check, sizeof(int));
|
||||
port_up = misdn_lib_port_up(port, check);
|
||||
|
||||
if ( port_up ) {
|
||||
newbc = misdn_lib_get_free_bc(port, robin_channel);
|
||||
|
@ -2333,12 +2334,14 @@ static struct ast_channel *misdn_request(const char *type, int format, void *dat
|
|||
port=misdn_cfg_get_next_port(port)) {
|
||||
|
||||
misdn_cfg_get( port, MISDN_CFG_GROUPNAME, cfg_group, BUFFERSIZE);
|
||||
|
||||
|
||||
chan_misdn_log(3,port, "Group [%s] Port [%d]\n", group, port);
|
||||
if (!strcasecmp(cfg_group, group)) {
|
||||
int port_up;
|
||||
int check;
|
||||
misdn_cfg_get(port, MISDN_CFG_PMP_L1_CHECK, &check, sizeof(int));
|
||||
port_up = misdn_lib_port_up(port, check);
|
||||
|
||||
port_up = misdn_lib_port_up(port);
|
||||
|
||||
chan_misdn_log(4, port, "portup:%d\n", port_up);
|
||||
|
||||
if ( port_up ) {
|
||||
|
|
|
@ -26,6 +26,7 @@ enum misdn_cfg_elements {
|
|||
MISDN_CFG_RXGAIN, /* int */
|
||||
MISDN_CFG_TXGAIN, /* int */
|
||||
MISDN_CFG_TE_CHOOSE_CHANNEL, /* int (bool) */
|
||||
MISDN_CFG_PMP_L1_CHECK, /* int (bool) */
|
||||
MISDN_CFG_CONTEXT, /* char[] */
|
||||
MISDN_CFG_LANGUAGE, /* char[] */
|
||||
MISDN_CFG_MUSICCLASS, /* char[] */
|
||||
|
|
|
@ -1460,27 +1460,25 @@ int misdn_lib_send_facility(struct misdn_bchannel *bc, enum facility_type fac, v
|
|||
}
|
||||
|
||||
|
||||
int misdn_lib_port_up(int port)
|
||||
int misdn_lib_port_up(int port, int check)
|
||||
{
|
||||
struct misdn_stack *stack;
|
||||
|
||||
|
||||
|
||||
for (stack=glob_mgr->stack_list;
|
||||
stack;
|
||||
stack=stack->next) {
|
||||
|
||||
if ( !stack->ptp && !check) return 1;
|
||||
|
||||
if (stack->port == port) {
|
||||
if (stack->nt) {
|
||||
if (stack->l1link)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
} else {
|
||||
if (stack->l1link)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
if (stack->l1link)
|
||||
return 1;
|
||||
else {
|
||||
cb_log(-1,port, "Port down [%s]\n",
|
||||
stack->ptp?"PP":"PMP");
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -335,7 +335,7 @@ void manager_ph_control(struct misdn_bchannel *bc, int c1, int c2);
|
|||
int misdn_lib_port_restart(int port);
|
||||
int misdn_lib_get_port_info(int port);
|
||||
|
||||
int misdn_lib_port_up(int port);
|
||||
int misdn_lib_port_up(int port, int notcheck);
|
||||
|
||||
int misdn_lib_get_port_up (int port) ;
|
||||
|
||||
|
|
|
@ -87,6 +87,7 @@ static const struct misdn_cfg_spec port_spec[] = {
|
|||
{ "rxgain", MISDN_CFG_RXGAIN, MISDN_CTYPE_INT, "0", NONE },
|
||||
{ "txgain", MISDN_CFG_TXGAIN, MISDN_CTYPE_INT, "0", NONE },
|
||||
{ "te_choose_channel", MISDN_CFG_TE_CHOOSE_CHANNEL, MISDN_CTYPE_BOOL, "no", NONE },
|
||||
{ "pmp_l1_check", MISDN_CFG_PMP_L1_CHECK, MISDN_CTYPE_BOOL, "yes", NONE },
|
||||
{ "context", MISDN_CFG_CONTEXT, MISDN_CTYPE_STR, "default", NONE },
|
||||
{ "language", MISDN_CFG_LANGUAGE, MISDN_CTYPE_STR, "en", NONE },
|
||||
{ "musicclass", MISDN_CFG_MUSICCLASS, MISDN_CTYPE_STR, "default", NONE },
|
||||
|
|
|
@ -142,6 +142,19 @@ txgain=0
|
|||
te_choose_channel=no
|
||||
|
||||
|
||||
|
||||
;
|
||||
; This option defines, if chan_misdn should check the L1 on a PMP
|
||||
; before makeing a group call on it. The L1 may go down for PMP Ports
|
||||
; so we might need this.
|
||||
; But be aware! a broken or plugged off cable might be used for a group call
|
||||
; as well, since chan_misdn has no chance to distinguish if the L1 is down
|
||||
; because of a lost Link or because the Provider shut it down...
|
||||
;
|
||||
; default: yes
|
||||
;
|
||||
pmp_l1_check=yes
|
||||
|
||||
;
|
||||
; Send Setup_Acknowledge on incoming calls anyway (instead of PROCEEDING),
|
||||
; this requests additional Infos, so we can waitfordigits
|
||||
|
|
Loading…
Reference in New Issue