mirror of https://github.com/sipwise/kamailio.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
305 lines
8.6 KiB
305 lines
8.6 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
|
|
<section id="sms.parameters" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
<sectioninfo>
|
|
<revhistory>
|
|
<revision>
|
|
<revnumber>$Revision$</revnumber>
|
|
<date>$Date$</date>
|
|
</revision>
|
|
</revhistory>
|
|
</sectioninfo>
|
|
|
|
<title>Parameters</title>
|
|
|
|
<section id="modems">
|
|
<title><varname>modems</varname> (string)</title>
|
|
<para>
|
|
Define and configure one or more <acronym>GSM</acronym> modems.
|
|
</para>
|
|
<programlisting>
|
|
modems_value = modem_definition *( ";" modem_definition )
|
|
modem_definition = modem_name "[" list_of_params "]"
|
|
list_of_params = modem_param *( ";" modem_param )
|
|
modem_param = name "=" value
|
|
</programlisting>
|
|
<para>
|
|
The following parameters can be used:
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
d=device (mandatory) - Device associated with modem (/dev/ttyS0, /dev/modem,
|
|
etc.).
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
p=pin (optional) - <acronym>SIM</acronym> <acronym>PIN</acronym> - default
|
|
is NULL.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
m=mode (optional) - Modem working mode
|
|
("ASCII","OLD","DIGICOM","NEW"). Default value is "NEW".
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
c=SMS_Center (optional) - <acronym>SMS</acronym> center
|
|
number for that modem. Default is the
|
|
<acronym>SMS</acronym> center set on the
|
|
<acronym>SIM</acronym> card.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
b=baudrate (optional) - Default is 19600.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
r=retry (optional) - How many times to try to re-send a
|
|
<acronym>SMS</acronym> that reported error. Default is twice.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
l=looping (optional) - Time for modem to wait before performing a new check
|
|
for incomimg/outgoing <acronym>SMS</acronym>/SIP_MSG. Default is 20.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
t=to (optional) - uri for sip header TO. Default is NULL.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
s=scan (optional) - Values:
|
|
0: NOT SCAN uri from body sms, use URI in t=to.
|
|
1: SCAN uri from body sms (normal mode,
|
|
default mode, clasic mode)
|
|
2: SCAN MIX (both modes), First SCAN
|
|
Default is 1 (SCAN).
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<note>
|
|
<para>
|
|
No default value, the parameter is mandatory.
|
|
</para>
|
|
</note>
|
|
<example>
|
|
<title>Set <varname>modems</varname> parameter</title>
|
|
<programlisting>
|
|
...
|
|
modparam("sms", "modems", "Nokia[d=/dev/ttyS1;s=0;t=sip:p-cscf@cidra.com.ar]")
|
|
modparam("sms", "modems", "Nokia [d=/dev/ttyS1;b=9600;m=new;l=30] ")
|
|
modparam("sms", "modems", "Nokia[d=/dev/ttyS1];Siemens[d=/dev/ttyS2]")
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section id="networks">
|
|
<title><varname>networks</varname> (string)</title>
|
|
<para>
|
|
Define and configure used <acronym>GSM</acronym> networks.
|
|
</para>
|
|
<programlisting>
|
|
networks_value = net_definition *( ";" net_definition )
|
|
net_definition = net_name "[" list_of_params "]"
|
|
list_of_params = set_param *( ";" set_param )
|
|
set_param = name "=" value
|
|
</programlisting>
|
|
<para>
|
|
The following parameters can be used:
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
m=msx_sms_per_call (optional) - Maximum number of
|
|
<acronym>SMS</acronym> send / received from that net in one
|
|
modem loop. Default is 10. This parameter was introduced to
|
|
avoid starvation.
|
|
</para>
|
|
<para>
|
|
Example of the starvation--a modem can send
|
|
<acronym>SMS</acronym> for more than 1 networks. If you
|
|
have a huge number of <acronym>SMS</acronym> for the first
|
|
network and the number of incoming SIP messages is equal
|
|
to the sent <acronym>SMS</acronym> per same unit of time,
|
|
the modem will never get to send <acronym>SMS</acronym> for
|
|
the next networks.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<note>
|
|
<para>
|
|
No default value, the parameter is mandatory.
|
|
</para>
|
|
</note>
|
|
<example>
|
|
<title>Set <varname>networks</varname> parameter</title>
|
|
<programlisting>
|
|
...
|
|
modparam("sms", "networks", "D1 [m=10] ;d2[ m=20]")
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section id="links">
|
|
<title><varname>links</varname> (string)</title>
|
|
<para>
|
|
Define from which network each modem should send
|
|
<acronym>SMS</acronym>.
|
|
</para>
|
|
<programlisting>
|
|
links_value = modem_assoc *( ";" modem_assoc )
|
|
modem_assoc = modem_name "[" list_of_networks "]"
|
|
list_of_networks = network *( ";" network )
|
|
</programlisting>
|
|
<note>
|
|
<para>
|
|
No default value, the parameter is mandatory.
|
|
</para>
|
|
</note>
|
|
<example>
|
|
<title>Set <varname>links</varname> parameter</title>
|
|
<programlisting>
|
|
...
|
|
modparam("sms", "links", "NOKIA[D1;d2]")
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
<para>
|
|
The modem NOKIA will send <acronym>SMS</acronym> from D1 and D2 net
|
|
(in this order !). if in a net queue are more then max_sms_per_call
|
|
<acronym>SMS</acronym> the modem will <emphasis>not
|
|
sleep</emphasis> before starting the next loop ! Shortly, if
|
|
messages are waiting to be sent, the modem will not go in sleep.
|
|
</para>
|
|
</section>
|
|
|
|
<section id="default_net">
|
|
<title><varname>default_net</varname> (string)</title>
|
|
<para>
|
|
The default network to use. If no one specified, the first defined
|
|
network is used. This parameter is useful only if the
|
|
"sms_send_msg" exported function is used (see <xref
|
|
linkend="sms.functions"/>).
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>default_net</varname> parameter</title>
|
|
<programlisting>
|
|
...
|
|
modparam("sms", "default_net", "D1")
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section id="max_sms_parts">
|
|
<title><varname>max_sms_parts</varname> (integer)</title>
|
|
<para>
|
|
Shows in how many parts (<acronym>SMS</acronym> messages) a SIP message can be
|
|
split. If exceeded, the SIP message will be sent truncated and the SIP user will
|
|
get back another message containing the unsent part.
|
|
</para>
|
|
<para>
|
|
Default value is 4.
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>max_sms_parts</varname> parameter</title>
|
|
<programlisting>
|
|
...
|
|
modparam("sms", "max_sms_parts", 10)
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section id="domain_str">
|
|
<title><varname>domain_str</varname> (string)</title>
|
|
<para>
|
|
Specify a fake domain name to be used by the gateway. The Contact
|
|
headers and the From header from request will be construct based on
|
|
this fake domain name. It's useful when the gateway is
|
|
transparently hidden behind a proxy/register (located on different
|
|
machines).
|
|
</para>
|
|
<para>
|
|
Default is the name of the machine the gateway is running on.
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>domain_str</varname> parameter</title>
|
|
<programlisting>
|
|
...
|
|
modparam("sms", "domain_str", "foo.bar")
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section id="sms.use_contact">
|
|
<title><varname>use_contact</varname> (integer)</title>
|
|
<para>
|
|
If a contact header should be added to the outgoing SIP messages. Even if the
|
|
SIP draft forbids this, some UAS require it.
|
|
</para>
|
|
<para>
|
|
Default is 0 (no).
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>use_contact</varname> parameter</title>
|
|
<programlisting>
|
|
...
|
|
modparam("sms", "use_contact", 1)
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section id="sms_report_type">
|
|
<title><varname>sms_report_type</varname> (integer)</title>
|
|
<para>
|
|
If the modem should ask for <acronym>SMS</acronym> confirmation
|
|
from the <acronym>SMS</acronym> Center. If the
|
|
<acronym>SMSC</acronym> reply with an error code, the gateway will
|
|
send back to SIP user a SIP message containing the text (or
|
|
part of it) that couldn't be send. Two report mechanisms are
|
|
implemented:
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
1 - the reports are delivered by the <acronym>GSM</acronym> device as
|
|
<acronym>SMS</acronym> reports (so far supported only by Nokia modems);
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
2 - the reports are delivered as async. <acronym>CDS</acronym> responses
|
|
(supported by almost all modems, except Ericsson).
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>
|
|
Default is 0 (no report).
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>sms_report_type</varname> parameter</title>
|
|
<programlisting>
|
|
...
|
|
modparam("sms", "sms_report_type", 1)
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
</section>
|