← Volver al índice de módulos

uac

The UAC (User Agent Client) module provides some basic UAC functionalities like sending SIP requests, registering with a remote service, From: header manipulation (anonymization) and client authentica
🔀 Enrutamiento y Proxy SIP Kamailio 6.1 30 parámetros 25 funciones

Descripción general

The UAC (User Agent Client) module provides some basic UAC functionalities like sending SIP requests, registering with a remote service, From: header manipulation (anonymization) and client authentication. The UAC module also supports sending a SIP request from the configuration file. See variable $uac_req(name) and the function uac_req_send(). In addition, the module supports database-driven SIP registration functionality. See the uac_reg_lookup() function and dedicated section for remote registration configuration. Known limitations in this version: * Authentication does not support qop auth-int, just qop auth; * CSeq is not increased automatically by uac_auth() during authentication - the follow up request may be rejected. CSeq can be increased when authenticating INVITE requests - dialog module has to be used, with CSeq tracking feature enabled (see the readme of dialog module). * The “uac_replace_*” functions can only be run once on the same SIP request. Try to save needed changes in a pseudovariable and apply them once. There is also a limitation regarding the use of the “msg_apply_changes()” function together with the “uac_replace_*” functions for messages that are loose-routed (e.g. Re-INVITE requests). In this case you need to call the “loose_route()” function after the replace and msg_apply_changes. Otherwise Kamailio can create replies with wrong From/To headers (e.g. for the 100 - Trying reply in the Re-INVITE example).

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

Parámetros de configuración

ParámetroTipoDescripción
rr_from_store_param string 3.2. rr_to_store_param (string) 3.3. restore_mode (string) 3.4. restore_dlg (int) 3.5. restore_passwd (string) 3.6. restore_from_avp (string) 3.7. restore_to_avp (string) 3.8. credential (string) 3.9.
rr_to_store_param string 3.3. restore_mode (string) 3.4. restore_dlg (int) 3.5. restore_passwd (string) 3.6. restore_from_avp (string) 3.7. restore_to_avp (string) 3.8. credential (string) 3.9. auth_realm_avp (string) 3.10. a
restore_mode string 3.4. restore_dlg (int) 3.5. restore_passwd (string) 3.6. restore_from_avp (string) 3.7. restore_to_avp (string) 3.8. credential (string) 3.9. auth_realm_avp (string) 3.10. auth_username_avp (string) 3
restore_dlg int 3.5. restore_passwd (string) 3.6. restore_from_avp (string) 3.7. restore_to_avp (string) 3.8. credential (string) 3.9. auth_realm_avp (string) 3.10. auth_username_avp (string) 3.11. auth_password_avp
restore_passwd string 3.6. restore_from_avp (string) 3.7. restore_to_avp (string) 3.8. credential (string) 3.9. auth_realm_avp (string) 3.10. auth_username_avp (string) 3.11. auth_password_avp (string) 3.12. reg_db_url (st
restore_from_avp string 3.7. restore_to_avp (string) 3.8. credential (string) 3.9. auth_realm_avp (string) 3.10. auth_username_avp (string) 3.11. auth_password_avp (string) 3.12. reg_db_url (string) 3.13. reg_timer_interval
restore_to_avp string 3.8. credential (string) 3.9. auth_realm_avp (string) 3.10. auth_username_avp (string) 3.11. auth_password_avp (string) 3.12. reg_db_url (string) 3.13. reg_timer_interval (int) 3.14. reg_retry_interva
credential string 3.9. auth_realm_avp (string) 3.10. auth_username_avp (string) 3.11. auth_password_avp (string) 3.12. reg_db_url (string) 3.13. reg_timer_interval (int) 3.14. reg_retry_interval (int) 3.15. reg_random_
auth_realm_avp string 3.10. auth_username_avp (string) 3.11. auth_password_avp (string) 3.12. reg_db_url (string) 3.13. reg_timer_interval (int) 3.14. reg_retry_interval (int) 3.15. reg_random_delay (int) 3.16. reg_hash_si
auth_username_avp string 3.11. auth_password_avp (string) 3.12. reg_db_url (string) 3.13. reg_timer_interval (int) 3.14. reg_retry_interval (int) 3.15. reg_random_delay (int) 3.16. reg_hash_size (int) 3.17. reg_db_table (stri
auth_password_avp string 3.12. reg_db_url (string) 3.13. reg_timer_interval (int) 3.14. reg_retry_interval (int) 3.15. reg_random_delay (int) 3.16. reg_hash_size (int) 3.17. reg_db_table (string) 3.18. reg_contact_addr (strin
reg_db_url string 3.13. reg_timer_interval (int) 3.14. reg_retry_interval (int) 3.15. reg_random_delay (int) 3.16. reg_hash_size (int) 3.17. reg_db_table (string) 3.18. reg_contact_addr (string) 3.19. reg_keep_callid (
reg_timer_interval int 3.14. reg_retry_interval (int) 3.15. reg_random_delay (int) 3.16. reg_hash_size (int) 3.17. reg_db_table (string) 3.18. reg_contact_addr (string) 3.19. reg_keep_callid (int) 3.20. reg_active (int) 3.2
reg_retry_interval int 3.15. reg_random_delay (int) 3.16. reg_hash_size (int) 3.17. reg_db_table (string) 3.18. reg_contact_addr (string) 3.19. reg_keep_callid (int) 3.20. reg_active (int) 3.21. reg_gc_interval (int) 3.22.
reg_random_delay int 3.16. reg_hash_size (int) 3.17. reg_db_table (string) 3.18. reg_contact_addr (string) 3.19. reg_keep_callid (int) 3.20. reg_active (int) 3.21. reg_gc_interval (int) 3.22. reg_use_domain (int) 3.23. de
reg_hash_size int 3.17. reg_db_table (string) 3.18. reg_contact_addr (string) 3.19. reg_keep_callid (int) 3.20. reg_active (int) 3.21. reg_gc_interval (int) 3.22. reg_use_domain (int) 3.23. default_socket (str) 3.24. e
reg_db_table string 3.18. reg_contact_addr (string) 3.19. reg_keep_callid (int) 3.20. reg_active (int) 3.21. reg_gc_interval (int) 3.22. reg_use_domain (int) 3.23. default_socket (str) 3.24. event_callback (str) 3.25. re
reg_contact_addr string 3.19. reg_keep_callid (int) 3.20. reg_active (int) 3.21. reg_gc_interval (int) 3.22. reg_use_domain (int) 3.23. default_socket (str) 3.24. event_callback (str) 3.25. reload_delta (int)
reg_keep_callid int 3.20. reg_active (int) 3.21. reg_gc_interval (int) 3.22. reg_use_domain (int) 3.23. default_socket (str) 3.24. event_callback (str) 3.25. reload_delta (int)
reg_active int 3.21. reg_gc_interval (int) 3.22. reg_use_domain (int) 3.23. default_socket (str) 3.24. event_callback (str) 3.25. reload_delta (int)
reg_gc_interval int 3.22. reg_use_domain (int) 3.23. default_socket (str) 3.24. event_callback (str) 3.25. reload_delta (int)
reg_use_domain int 3.23. default_socket (str) 3.24. event_callback (str) 3.25. reload_delta (int)
default_socket str 3.24. event_callback (str) 3.25. reload_delta (int)
event_callback str 3.25. reload_delta (int)
reload_delta int 3.1. rr_from_store_param (string)
rr_from_store_param string Name of Record-Route header parameter that will be used to store an encoded version of the original FROM URI.
rr_to_store_param string Name of Record-Route header parameter that will be used to store (encoded) the original TO URI.
restore_mode string There are 3 modes of restoring the original FROM URI and the original TO URI: * “none” - no information about original URI is stored; restoration is not possible. * “manual” - all following replies wi
restore_dlg int If set to 1, the module uses dialog variables to store initial and new values for From/To headers. The Dialog module has to be loaded and all calls that involve changes to From/To headers must be trac
restore_passwd string String password to be used to encrypt the RR storing parameters. If empty, no encryption will be used.

Funciones exportadas

uac_replace_from(display, uri)

4.2. uac_replace_from(uri) 4.3. uac_restore_from() 4.4. uac_replace_to(display, uri) 4.5. uac_replace_to(uri) 4.6. uac_restore_to() 4.7. uac_auth([mode]) 4.8. uac_auth_mode(vmode) 4.9. uac_req_send() 4.10. uac_reg_send_register(atttr,value) 4.11. uac

uac_replace_from(uri)

4.3. uac_restore_from() 4.4. uac_replace_to(display, uri) 4.5. uac_replace_to(uri) 4.6. uac_restore_to() 4.7. uac_auth([mode]) 4.8. uac_auth_mode(vmode) 4.9. uac_req_send() 4.10. uac_reg_send_register(atttr,value) 4.11. uac_reg_send_unregister(atttr,

uac_restore_from()

4.4. uac_replace_to(display, uri) 4.5. uac_replace_to(uri) 4.6. uac_restore_to() 4.7. uac_auth([mode]) 4.8. uac_auth_mode(vmode) 4.9. uac_req_send() 4.10. uac_reg_send_register(atttr,value) 4.11. uac_reg_send_unregister(atttr,value) 4.12. uac_reg_loo

uac_replace_to(display, uri)

4.5. uac_replace_to(uri) 4.6. uac_restore_to() 4.7. uac_auth([mode]) 4.8. uac_auth_mode(vmode) 4.9. uac_req_send() 4.10. uac_reg_send_register(atttr,value) 4.11. uac_reg_send_unregister(atttr,value) 4.12. uac_reg_lookup(uuid, dst) 4.13. uac_reg_looku

uac_replace_to(uri)

4.6. uac_restore_to() 4.7. uac_auth([mode]) 4.8. uac_auth_mode(vmode) 4.9. uac_req_send() 4.10. uac_reg_send_register(atttr,value) 4.11. uac_reg_send_unregister(atttr,value) 4.12. uac_reg_lookup(uuid, dst) 4.13. uac_reg_lookup_uri(uri, dst) 4.14. uac

uac_restore_to()

4.7. uac_auth([mode]) 4.8. uac_auth_mode(vmode) 4.9. uac_req_send() 4.10. uac_reg_send_register(atttr,value) 4.11. uac_reg_send_unregister(atttr,value) 4.12. uac_reg_lookup(uuid, dst) 4.13. uac_reg_lookup_uri(uri, dst) 4.14. uac_reg_status(uuid) 4.15

uac_auth([mode])

4.8. uac_auth_mode(vmode) 4.9. uac_req_send() 4.10. uac_reg_send_register(atttr,value) 4.11. uac_reg_send_unregister(atttr,value) 4.12. uac_reg_lookup(uuid, dst) 4.13. uac_reg_lookup_uri(uri, dst) 4.14. uac_reg_status(uuid) 4.15. uac_reg_request_to(u

uac_auth_mode(vmode)

4.9. uac_req_send() 4.10. uac_reg_send_register(atttr,value) 4.11. uac_reg_send_unregister(atttr,value) 4.12. uac_reg_lookup(uuid, dst) 4.13. uac_reg_lookup_uri(uri, dst) 4.14. uac_reg_status(uuid) 4.15. uac_reg_request_to(user, mode) 4.16. uac_reg_e

uac_req_send()

4.10. uac_reg_send_register(atttr,value) 4.11. uac_reg_send_unregister(atttr,value) 4.12. uac_reg_lookup(uuid, dst) 4.13. uac_reg_lookup_uri(uri, dst) 4.14. uac_reg_status(uuid) 4.15. uac_reg_request_to(user, mode) 4.16. uac_reg_enable(attr, val) 4.1

uac_reg_send_register(atttr,value)

4.11. uac_reg_send_unregister(atttr,value) 4.12. uac_reg_lookup(uuid, dst) 4.13. uac_reg_lookup_uri(uri, dst) 4.14. uac_reg_status(uuid) 4.15. uac_reg_request_to(user, mode) 4.16. uac_reg_enable(attr, val) 4.17. uac_reg_disable(attr, val) 4.18. uac_r

uac_reg_send_unregister(atttr,value)

4.12. uac_reg_lookup(uuid, dst) 4.13. uac_reg_lookup_uri(uri, dst) 4.14. uac_reg_status(uuid) 4.15. uac_reg_request_to(user, mode) 4.16. uac_reg_enable(attr, val) 4.17. uac_reg_disable(attr, val) 4.18. uac_reg_refresh(luuid)

uac_reg_lookup(uuid, dst)

4.13. uac_reg_lookup_uri(uri, dst) 4.14. uac_reg_status(uuid) 4.15. uac_reg_request_to(user, mode) 4.16. uac_reg_enable(attr, val) 4.17. uac_reg_disable(attr, val) 4.18. uac_reg_refresh(luuid)

uac_reg_lookup_uri(uri, dst)

4.14. uac_reg_status(uuid) 4.15. uac_reg_request_to(user, mode) 4.16. uac_reg_enable(attr, val) 4.17. uac_reg_disable(attr, val) 4.18. uac_reg_refresh(luuid)

uac_reg_status(uuid)

4.15. uac_reg_request_to(user, mode) 4.16. uac_reg_enable(attr, val) 4.17. uac_reg_disable(attr, val) 4.18. uac_reg_refresh(luuid)

uac_reg_request_to(user, mode)

4.16. uac_reg_enable(attr, val) 4.17. uac_reg_disable(attr, val) 4.18. uac_reg_refresh(luuid)

uac_reg_enable(attr, val)

4.17. uac_reg_disable(attr, val) 4.18. uac_reg_refresh(luuid)

uac_reg_disable(attr, val)

4.18. uac_reg_refresh(luuid)

uac_reg_refresh(luuid)

4.1. uac_replace_from(display, uri)

uac_replace_from(display, uri)

Replace in FROM header the display name and the URI part.

uac_replace_from(uri)

Replace in FROM header the URI part without altering the display name.

uac_restore_from()

This function will check if the FROM URI was modified and will use the information stored in header parameter to restore the original FROM URI value.

uac_replace_to(display, uri)

Replace in TO header the display name and the URI part.

uac_replace_to(uri)

Replace in TO header the URI part without altering the display name.

uac_restore_to()

This function will check if the TO URI was modified and will use the information stored in header parameter to restore the original TO URI value.

uac_auth([mode])

This function can be called only from failure route and will build the authentication response header and insert it into the request without sending anything.

Autores y contribuidores

Ramona-Elena Modroiu <ramona@rosdev.ro>Daniel-Constantin Mierla <miconda@gmail.com>Tyler Moore <tmoore@dopensource.com>

Copyright © 2009-2010 asipto.com
Copyright © 2005 Voice Sistem
Copyright © 2024 Tyler Moore, dOpenSource

Módulos relacionados

acc acc_diameter acc_json acc_radius alias_db app_jsdt carrierroute cfgt