Fix channel selection for PTMP/NT-Mode
Channel selection in that mode must be forced, so that the TE nay not select a different channel. In that mode the TE cannot know what channel is allocated, so it cannot select a different channel. Eumex PBX rejects calls without this fix.
This commit is contained in:
parent
3d385fd095
commit
b4f5e950fc
|
@ -74,6 +74,9 @@ static void default_out_channel(isdn_t *isdn_ep)
|
||||||
{
|
{
|
||||||
struct select_channel *selchannel;
|
struct select_channel *selchannel;
|
||||||
|
|
||||||
|
if (isdn_ep->ntmode)
|
||||||
|
isdn_ep->out_channel_exclusive = 1;
|
||||||
|
|
||||||
selchannel = calloc(1, sizeof(struct select_channel));
|
selchannel = calloc(1, sizeof(struct select_channel));
|
||||||
if (isdn_ep->ntmode)
|
if (isdn_ep->ntmode)
|
||||||
selchannel->channel = CHANNEL_FREE;
|
selchannel->channel = CHANNEL_FREE;
|
||||||
|
|
|
@ -100,11 +100,14 @@ static void print_help()
|
||||||
printf(" Channel selection list for all outgoing calls to the interface.\n");
|
printf(" Channel selection list for all outgoing calls to the interface.\n");
|
||||||
printf(" A free channels is searched in order of appearance.\n");
|
printf(" A free channels is searched in order of appearance.\n");
|
||||||
printf(" force - Forces the selected port with no acceptable alternative.\n");
|
printf(" force - Forces the selected port with no acceptable alternative.\n");
|
||||||
printf(" -> this will be automatically set for multipoint NT-mode ports\n");
|
printf(" -> this must be used for multipoint NT-mode ports\n");
|
||||||
printf(" <number>[,...] - List of channels to search.\n");
|
printf(" <number>[,...] - List of channels to search.\n");
|
||||||
printf(" free - Select any free channel\n");
|
printf(" free - Select any free channel\n");
|
||||||
printf(" any - On outgoing calls, signal 'any channel acceptable'. (see DSS1)\n");
|
printf(" any - On outgoing calls, signal 'any channel acceptable'. (see DSS1)\n");
|
||||||
printf(" no - Signal 'no channel available' aka 'call waiting'. (see DSS1)\n");
|
printf(" no - Signal 'no channel available' aka 'call waiting'. (see DSS1)\n");
|
||||||
|
printf(" Default for multipoint NT-Mode: 'force,free,no'\n");
|
||||||
|
printf(" Default for point-to-point NT-Mode: 'force,free'\n");
|
||||||
|
printf(" Default for TE-Mode: 'any'\n");
|
||||||
printf(" --channel-in [<number>][,...][,free]\n");
|
printf(" --channel-in [<number>][,...][,free]\n");
|
||||||
printf(" Give list of channels to select for calls from ISDN\n");
|
printf(" Give list of channels to select for calls from ISDN\n");
|
||||||
printf(" Channel selection list for all incoming calls from the interface.\n");
|
printf(" Channel selection list for all incoming calls from the interface.\n");
|
||||||
|
@ -112,6 +115,7 @@ static void print_help()
|
||||||
printf(" If any channel was requested, the first free channel found is selected.\n");
|
printf(" If any channel was requested, the first free channel found is selected.\n");
|
||||||
printf(" <number>[,...] - List of channels to accept.\n");
|
printf(" <number>[,...] - List of channels to accept.\n");
|
||||||
printf(" free - Accept any free channel\n");
|
printf(" free - Accept any free channel\n");
|
||||||
|
printf(" Default: 'free'\n");
|
||||||
|
|
||||||
printf(" --timeouts <setup>,<overlap>,<proceeding>,<alerting>,<disconnect>\n");
|
printf(" --timeouts <setup>,<overlap>,<proceeding>,<alerting>,<disconnect>\n");
|
||||||
printf(" Alter ISDN protocol times.\n");
|
printf(" Alter ISDN protocol times.\n");
|
||||||
|
|
Loading…
Reference in New Issue