core/corex: move send()/send_tcp() to corex module
[sip-router] / modules / corex / README
1 COREX Module
2
3 Daniel-Constantin Mierla
4
5    <miconda@gmail.com>
6
7 Edited by
8
9 Daniel-Constantin Mierla
10
11    <miconda@gmail.com>
12
13    Copyright © 2012 asipto.com
14      __________________________________________________________________
15
16    Table of Contents
17
18    1. Admin Guide
19
20         1. Overview
21         2. Dependencies
22
23               2.1. Kamailio Modules
24               2.2. External Libraries or Applications
25
26         3. Parameters
27
28               3.1. alias_subdomains (string)
29
30         4. Functions
31
32               4.1. append_branch([ uri, [ q ] ])
33               4.2. send([ host [ :port ] ])
34               4.3. send_tcp([ host [ :port ] ])
35
36         5. RPC Commands
37
38               5.1. corex.list_sockets
39               5.2. corex.list_aliases
40
41    List of Examples
42
43    1.1. Set alias_subdomains parameter
44    1.2. append_branch usage
45    1.3. send usage
46
47 Chapter 1. Admin Guide
48
49    Table of Contents
50
51    1. Overview
52    2. Dependencies
53
54         2.1. Kamailio Modules
55         2.2. External Libraries or Applications
56
57    3. Parameters
58
59         3.1. alias_subdomains (string)
60
61    4. Functions
62
63         4.1. append_branch([ uri, [ q ] ])
64         4.2. send([ host [ :port ] ])
65         4.3. send_tcp([ host [ :port ] ])
66
67    5. RPC Commands
68
69         5.1. corex.list_sockets
70         5.2. corex.list_aliases
71
72 1. Overview
73
74    This module provides reimplementation of very old functions that were
75    in core and supported only static string or integer parameters. The new
76    versions bring support for dynamic parameters (allowing variables
77    inside the parameters).
78
79    There are also brand new features, related to core internals, but
80    controlled from configuration file or via control interfaces.
81
82    Contributions to this module must be done under BSD license, to follow
83    the requirements of the core contributions.
84
85 2. Dependencies
86
87    2.1. Kamailio Modules
88    2.2. External Libraries or Applications
89
90 2.1. Kamailio Modules
91
92    The following modules must be loaded before this module:
93      * None.
94
95 2.2. External Libraries or Applications
96
97    The following libraries or applications must be installed before
98    running Kamailio with this module loaded:
99      * None
100
101 3. Parameters
102
103    3.1. alias_subdomains (string)
104
105 3.1. alias_subdomains (string)
106
107    Register a domain and all its sub-domains to match the myself
108    condition. It can be set many times. Its full format is:
109    'proto:domain:port', allowing to set restrictions on protocol and port
110    as well. Protocol and port are optional.
111
112    Default value is “NULL”.
113
114    Example 1.1. Set alias_subdomains parameter
115 ...
116 modparam("corex", "alias_subdomains", "kamailio.org")
117 modparam("corex", "alias_subdomains", "udp:sip-router.org:5060")
118 ...
119
120 4. Functions
121
122    4.1. append_branch([ uri, [ q ] ])
123    4.2. send([ host [ :port ] ])
124    4.3. send_tcp([ host [ :port ] ])
125
126 4.1.  append_branch([ uri, [ q ] ])
127
128    Append a new branch to the destination set, useful to build the
129    addresses for parallel forking or redirect replies.
130
131    Both parameters are optional, If no uri parameter is provided, then the
132    address from request URI (r-uri) is taken to build the new branch.
133
134    Meaning of the parameters is as follows:
135      * uri - SIP address of the branch to be used as R-URI in the outgoing
136        request.
137      * q - the Q value to set the priority of the branch based on Contact
138        address specifications
139
140    This function can be used from REQUEST_ROUTE or FAILURE_ROUTE.
141
142    Example 1.2. append_branch usage
143 ...
144     append_branch();
145     append_branch("$avp(uri)", "0.5");
146 ...
147
148 4.2.  send([ host [ :port ] ])
149
150    Send the original SIP message to a specific destination in stateless
151    mode. No changes are applied to received message, no Via header is
152    added. Host can be an IP address or hostname. Port is optional and
153    defaults to 5060. Used protocol: UDP.
154
155    The parameter is optional and defaults to the destination URI from the
156    SIP message if left out. Otherwise it's a string parameter (supporting
157    pseudo-variables) in format "hostname" or "hostname:port", where
158    hostname" can also be a numeric IP address.
159
160    This function can be used from REQUEST_ROUTE or FAILURE_ROUTE.
161
162    Example 1.3. send usage
163 ...
164         send();
165         send("10.20.15.10");
166         send("sip.example.com:5070");
167         send("$var(res)");
168 ...
169
170 4.3.  send_tcp([ host [ :port ] ])
171
172    This function is identical to send() described above, except that it
173    sends the SIP message using the TCP protocol instead of UDP.
174
175 5. RPC Commands
176
177    5.1. corex.list_sockets
178    5.2. corex.list_aliases
179
180 5.1.  corex.list_sockets
181
182    Print the list of sockets the application is listening on.
183
184    Example:
185                 sercmd corex.list_sockets
186
187 5.2.  corex.list_aliases
188
189    Print the list of hostname aliases used to match myself condition.
190
191    Example:
192                 sercmd corex.list_aliases