ifport->ptmp = 1;
return(0);
}
+static int inter_nt(struct interface *interface, char *filename, int line, char *parameter, char *value)
+{
+#ifdef SOCKET_MISDN
+ struct interface_port *ifport;
+
+ /* port in chain ? */
+ if (!interface->ifport)
+ {
+ SPRINT(interface_error, "Error in %s (line %d): parameter '%s' expects previous 'port' definition.\n", filename, line, parameter);
+ return(-1);
+ }
+ /* goto end of chain */
+ ifport = interface->ifport;
+ while(ifport->next)
+ ifport = ifport->next;
+ /* add value */
+ if (value[0])
+ {
+ SPRINT(interface_error, "Error in %s (line %d): parameter '%s' expects no value.\n", filename, line, parameter);
+ return(-1);
+ }
+ ifport->nt = 1;
+#endif
+ return(0);
+}
static int inter_tones(struct interface *interface, char *filename, int line, char *parameter, char *value)
{
if (!strcasecmp(value, "yes"))
{ "extension", &inter_extension, "",
"If keyword is given, calls to interface are handled as internal extensions."},
{"tones", &inter_tones, "yes | no",
- "Interface generates tones during call setup and release, or not.\nBy default only NT-mode interfaces generate tones."},
+ "Interface generates tones during call setup and release, or not.\nBy default only NT-mode ports generate tones."},
{"earlyb", &inter_earlyb, "yes | no",
- "Interface receives and bridges tones during call setup and release, or not.\nBy default only TE-mode interfaces receive tones."},
+ "Interface receives and bridges tones during call setup and release, or not.\nBy default only TE-mode ports receive tones."},
{"hunt", &inter_hunt, "linear | roundrobin",
"Select the algorithm for selecting port with free channel."},
"The given port above is opened as point-to-multipoint.\n"
"This is required on PRI NT-mode ports that are point-to-point by default.\n"
"This parameter must follow a 'port' parameter."},
+ {"nt", &inter_nt, "",
+ "The given port above is opened in NT-mode.\n"
+#ifdef SOCKET_MISDN
+ "This is required on interfaces that support both NT-mode and TE-mode.\n"
+#else
+ "This parameter is only required for socket based mISDN driver.\n"
+#endif
+ "This parameter must follow a 'port' parameter."},
{"channel-out", &inter_channel_out, "[force,][<number>][,...][,free][,any][,no]",
"Channel selection list for all outgoing calls to the interface.\n"
" any - On outgoing calls, signal 'any channel acceptable'. (see DSS1)\n"
" no - Signal 'no channel available' aka 'call waiting'. (see DSS1)"},
- {"channel-in", &inter_channel_in, "[force,][<number>][,...][,free][,any][,no]",
+ {"channel-in", &inter_channel_in, "[<number>][,...][,free]",
"Channel selection list for all incomming calls from the interface.\n"
"A free channels is accepted if in the list.\n"
"If any channel was requested, the first free channel found is selected.\n"
"Incomming caller ID is checked against given MSN numbers.\n"
"If the caller ID is not found in this list, it is overwritten by the first MSN"},
- {"screen-in", &inter_screen_in, "[options] <old caller ID>[%%] [options] <new caller ID>[%%]",
+ {"screen-in", &inter_screen_in, "[options] <old caller ID>[%] [options] <new caller ID>[%]",
"Adds an entry for incomming calls to the caller ID screen list.\n"
"If the given 'old caller ID' matches, it is replaced by the 'new caller ID'\n"
- "If '%%' is given after old caller ID, it matches even if caller ID has\n"
+ "If '%' is given after old caller ID, it matches even if caller ID has\n"
"additional digits.\n"
- "If '%%' is given after mew caller ID, additinal digits of the 'old caller ID'\n"
+ "If '%' is given after mew caller ID, additinal digits of the 'old caller ID'\n"
"are added.\n"
"Options can be:\n"
" unknown | subsciber | national | international - Change caller ID type.\n"
" present | restrict - Change presentation of caller ID."},
- {"screen-out", &inter_screen_out, "<old caller ID> <new caller ID> [options]",
+ {"screen-out", &inter_screen_out, "[options] <old caller ID>[%] [options] <new caller ID>[%]",
"Adds an entry for outgoing calls to the caller ID screen list.\n"
"See 'screen-in' for help."},
struct mISDNport *mISDNport;
/* open new port */
- mISDNport = mISDNport_open(ifport->portnum, ifport->ptp, ifport->ptmp, ifport->interface);
+ mISDNport = mISDNport_open(ifport->portnum, ifport->ptp, ifport->ptmp, ifport->nt, ifport->interface);
if (mISDNport)
{
/* link port */