← Volver al índice de módulos

evapi

The EVAPI module can be used to create an event message flow from Kamailio to any application that can connect to a TCP socket. The remote application can also issue messages received by Kamailio.
⚙️ Scripting e Integración Kamailio 6.1 14 parámetros 16 funciones

Descripción general

The EVAPI module can be used to create an event message flow from Kamailio to any application that can connect to a TCP socket. The remote application can also issue messages received by Kamailio. There is no protocol definition, it is all up to the author of the routing script. Events can be generated for any event in Kamailio. For 3rd party transaction control, a transaction can be automatically suspended when sending the event, to be resumed at a later point, maybe triggered by an incoming message on the event socket.

Documentación oficial: https://www.kamailio.org/docs/modules/stable/modules/evapi.html
Código fuente: https://github.com/kamailio/kamailio/tree/master/src/modules/evapi

Parámetros de configuración

ParámetroTipoDescripción
workers int 3.2. bind_addr (str) 3.3. netstring_format (int) 3.4. event_callback (str) 3.5. max_clients (int) 3.6. wait_idle (int) 3.7. wait_increase (int)
bind_addr str 3.3. netstring_format (int) 3.4. event_callback (str) 3.5. max_clients (int) 3.6. wait_idle (int) 3.7. wait_increase (int)
netstring_format int 3.4. event_callback (str) 3.5. max_clients (int) 3.6. wait_idle (int) 3.7. wait_increase (int)
event_callback str 3.5. max_clients (int) 3.6. wait_idle (int) 3.7. wait_increase (int)
max_clients int 3.6. wait_idle (int) 3.7. wait_increase (int)
wait_idle int 3.7. wait_increase (int)
wait_increase int 3.1. workers (int)
workers int Number of worker processes to be started to handle incoming messages from remote applications. If the value is 0, the handling of the incoming message is done by the evapi dispatcher process.
bind_addr str Local IP and port to listen on for incoming TCP connections.
netstring_format int Control if messages on the socket (to and from clients) are encapsulated in netstring format.
event_callback str The name of the function in the kemi configuration file (embedded scripting language such as Lua, Python, ...) to be executed instead of event_route[...] blocks.
max_clients int Maximum number of clients that can connect to evapi socket.
wait_idle int How many micro-seconds to wait on idle, when no evapi messages are in the processing queue.
wait_increase int Increase wait_idle by itself till its value becomes initial value multiplied with wait_increase. The increase is done only consecutive cycles without any evapi message. When a new evapi message is rec

Funciones exportadas

evapi_relay(evdata)

4.2. evapi_async_relay(evdata) 4.3. evapi_multicast(evdata, etag) 4.4. evapi_async_multicast(evdata, etag) 4.5. evapi_unicast(evdata, etag) 4.6. evapi_async_unicast(evdata, etag) 4.7. evapi_close() 4.8. evapi_set_tag(tname)

evapi_async_relay(evdata)

4.3. evapi_multicast(evdata, etag) 4.4. evapi_async_multicast(evdata, etag) 4.5. evapi_unicast(evdata, etag) 4.6. evapi_async_unicast(evdata, etag) 4.7. evapi_close() 4.8. evapi_set_tag(tname)

evapi_multicast(evdata, etag)

4.4. evapi_async_multicast(evdata, etag) 4.5. evapi_unicast(evdata, etag) 4.6. evapi_async_unicast(evdata, etag) 4.7. evapi_close() 4.8. evapi_set_tag(tname)

evapi_async_multicast(evdata, etag)

4.5. evapi_unicast(evdata, etag) 4.6. evapi_async_unicast(evdata, etag) 4.7. evapi_close() 4.8. evapi_set_tag(tname)

evapi_unicast(evdata, etag)

4.6. evapi_async_unicast(evdata, etag) 4.7. evapi_close() 4.8. evapi_set_tag(tname)

evapi_async_unicast(evdata, etag)

4.7. evapi_close() 4.8. evapi_set_tag(tname)

evapi_close()

4.8. evapi_set_tag(tname)

evapi_set_tag(tname)

4.1. evapi_relay(evdata)

evapi_relay(evdata)

Relay the event data given as parameter to connected applications.

evapi_async_relay(evdata)

Relay the event data given as parameter to connected applications. Before evaluating the parameter, the request processing is suspended using tm module (using the t_suspend()/t_continue() framework). The routing of the SIP request can be continued on

evapi_multicast(evdata, etag)

Relay the event data given as parameter to connections that match the tag provided by etag value. The etag can be a variable. For more see evapi_relay() and evapi_set_tag().

evapi_async_multicast(evdata, etag)

Async relay the event data given as parameter to connections that match the tag provided by etag value. The etag can be a variable. For more see evapi_async_relay() and evapi_set_tag().

evapi_unicast(evdata, etag)

Relay the event data given as parameter to the first connection that match the tag provided by etag value. The etag can be a variable. For more see evapi_relay() and evapi_set_tag().

evapi_async_unicast(evdata, etag)

Async relay the event data given as parameter to the first connection that match the tag provided by etag value. The etag can be a variable. For more see evapi_async_relay() and evapi_set_tag().

evapi_close()

Close evapi current client connection.

evapi_set_tag(tname)

Set tag name for current client connection. The parameters has to be a string up to 64 characters. It can also be a variable holding such string.

Autores y contribuidores

Daniel-Constantin Mierla <miconda@gmail.com>

Copyright © 2014 asipto.com

Módulos relacionados

app_lua app_perl app_python app_python3 app_python3s app_ruby app_ruby_proc async