• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..15-Apr-2021-

doc/H15-Apr-2021-249225

python_examples/H15-Apr-2021-182140

utils/H15-Apr-2021-149120

MakefileH A D15-Apr-20211.2 KiB3820

READMEH A D15-Apr-20214.1 KiB194124

README.TestCase-LoggersH A D15-Apr-2021315 1711

app_python_mod.cH A D15-Apr-202112.9 KiB574442

app_python_mod.hH A D15-Apr-20211 KiB327

apy_kemi.cH A D15-Apr-202174 KiB2,1291,933

apy_kemi.hH A D15-Apr-20211.3 KiB4114

apy_kemi_export.cH A D15-Apr-2021177.4 KiB9,2895,151

apy_kemi_export.hH A D15-Apr-20211.2 KiB4312

mod_Core.cH A D15-Apr-20211.7 KiB7132

mod_Core.hH A D15-Apr-20211 KiB379

mod_Logger.cH A D15-Apr-20215.9 KiB260145

mod_Logger.hH A D15-Apr-20211 KiB389

mod_Ranks.cH A D15-Apr-20212.9 KiB9856

mod_Ranks.hH A D15-Apr-20211 KiB369

mod_Router.cH A D15-Apr-20211.8 KiB7333

mod_Router.hH A D15-Apr-20211.1 KiB3710

msgobj_struct.hH A D15-Apr-20211.1 KiB3710

python_exec.cH A D15-Apr-20214.8 KiB204147

python_exec.hH A D15-Apr-20211.2 KiB3811

python_iface.cH A D15-Apr-20211.3 KiB5220

python_iface.hH A D15-Apr-2021989 316

python_msgobj.cH A D15-Apr-202113.3 KiB550436

python_msgobj.hH A D15-Apr-20211.1 KiB348

python_support.cH A D15-Apr-20215.7 KiB277209

python_support.hH A D15-Apr-20211.1 KiB3710

README

1app_python Module
2
3Maxim Sobolev
4
5Edited by
6
7Maxim Sobolev
8
9   Copyright © 2010 Maxim Sobolev
10     __________________________________________________________________
11
12   Table of Contents
13
14   1. Admin Guide
15
16        1. Overview
17        2. Dependencies
18
19              2.1. Kamailio Modules
20              2.2. External Libraries or Applications
21
22        3. Parameters
23
24              3.1. load (string)
25              3.2. script_name (string)
26              3.3. mod_init_function (string)
27              3.4. child_init_method (string)
28
29        4. Functions
30
31              4.1. python_exec(method [, args])
32
33        5. RPC Commands
34
35              5.1. app_python.reload
36              5.2. app_python.api_list
37
38   List of Examples
39
40   1.1. Set load parameter
41   1.2. Set mod_init_function parameter
42   1.3. Set child_init_method parameter
43   1.4. python_exec usage
44
45Chapter 1. Admin Guide
46
47   Table of Contents
48
49   1. Overview
50   2. Dependencies
51
52        2.1. Kamailio Modules
53        2.2. External Libraries or Applications
54
55   3. Parameters
56
57        3.1. load (string)
58        3.2. script_name (string)
59        3.3. mod_init_function (string)
60        3.4. child_init_method (string)
61
62   4. Functions
63
64        4.1. python_exec(method [, args])
65
66   5. RPC Commands
67
68        5.1. app_python.reload
69        5.2. app_python.api_list
70
711. Overview
72
73   This module allows executing Python scripts from config file, exporting
74   functions to access the SIP message from Python.
75
76   For some basic examples of Python scripts that can be used with this
77   module, look at the files inside source tree located at
78   'modules/app_python/python_examples/'.
79
802. Dependencies
81
82   2.1. Kamailio Modules
83   2.2. External Libraries or Applications
84
852.1. Kamailio Modules
86
87   The following modules must be loaded before this module:
88     * none.
89
902.2. External Libraries or Applications
91
92   The following libraries or applications must be installed before
93   running Kamailio with this module loaded:
94     * python-dev - Python devel library.
95
963. Parameters
97
98   3.1. load (string)
99   3.2. script_name (string)
100   3.3. mod_init_function (string)
101   3.4. child_init_method (string)
102
1033.1. load (string)
104
105   The path to the file with Python code to be executed from configuration
106   file.
107
108   Default value is “/usr/local/etc/kamailio/handler.py”.
109
110   Example 1.1. Set load parameter
111...
112modparam("app_python", "load", "/usr/local/etc/kamailio/myscript.py")
113...
114
1153.2. script_name (string)
116
117   This is same as "load" parameter, kept for backward compatibility with
118   the older versions of the module.
119
1203.3. mod_init_function (string)
121
122   The Python function to be executed by this module when it is
123   initialized by Kamailio.
124
125   Default value is “mod_init”.
126
127   Example 1.2. Set mod_init_function parameter
128...
129modparam("app_python", "mod_init_function", "my_mod_init")
130...
131
1323.4. child_init_method (string)
133
134   The Python function to be executed by this module when a new worker
135   process (child) is initialized by Kamailio.
136
137   Default value is “child_init”.
138
139   Example 1.3. Set child_init_method parameter
140...
141modparam("app_python", "child_init_method", "my_child_init")
142...
143
1444. Functions
145
146   4.1. python_exec(method [, args])
147
1484.1.  python_exec(method [, args])
149
150   Execute the Python function with the name given by the parameter
151   'method'. Optionally can be provided a second string with parameters to
152   be passed to the Python function.
153
154   Both parameters can contain pseudo-variables.
155
156   Example 1.4. python_exec usage
157...
158python_exec("my_python_function");
159python_exec("my_python_function", "my_params");
160python_exec("my_python_function", "$rU");
161...
162
1635. RPC Commands
164
165   5.1. app_python.reload
166   5.2. app_python.api_list
167
1685.1.  app_python.reload
169
170   Marks the need to reload the Python script. The actual reload is done
171   by each worker when the next Python method is invoked.
172
173   Name: app_python.reload
174
175   Parameters: none
176
177   Example:
178...
179kamcmd app_python.reload
180...
181
1825.2.  app_python.api_list
183
184   List the functions available via Kemi framework.
185
186   Name: app_python.api_list
187
188   Parameters: none
189
190   Example:
191...
192kamcmd app_python.api_list
193...
194

README.TestCase-Loggers

1
2Example of using loggers in Python:
3
4loadmodule "app_python.so"
5modparam("app_python", "script_name", "/path/to/Loggers.py")
6modparam("app_python", "mod_init_function", "mod_init")
7modparam("app_python", "child_init_method", "child_init")
8
9...
10
11route
12{
13    python_exec("TestLoggers", "Test Message\n");
14    ...
15}
16
17