1.1. Contact matching The User location module keeps a user location table and provides access to the table for other modules. The module exports no functions that can be used directly from routing scripts. 1.1. Contact matching How the contacts are matched (for the same AOR - Address of Record) is an important aspect of the usrloc module, especially in the context of NAT traversal - this raises more problems since contacts from different phones of the same user may overlap (if both are behind NATs with the same configuration) or the re-register contact of the same phone may be seen as a new one (due different binding via NAT). The SIP RFC 3261 publishes a matching algorithm based only on the contact string with Call-id and Cseq extra checking (if the Call-ID is the same, it must have a higher Cseq number, otherwise it is invalid). But as argued above, this is not enough in NAT traversal context, so the Kamailio implementation of contact matching offers more algorithms: * Contact based only - it is strict RFC 3261 compliancy - the Contact URI is matched as string and extra checked via Call-ID and cseq (if Call-ID is the same, it must have a higher cseq number, otherwise it is invalid). * Contact and Call-id based - it is an extension of the first case - the contact and Call-ID must be matched as string; the cseq must be higher than the previous one - so be careful how you deal with REGISTER retransmissions in this case. * contact and path based - it is an extension of the fir
| Parámetro | Tipo | Descripción |
|---|---|---|
| nat_bflag | int | 3.2. user_column (string) 3.3. domain_column (string) 3.4. contact_column (string) 3.5. expires_column (string) 3.6. q_column (string) 3.7. callid_column (string) 3.8. cseq_column (string) 3.9. method |
| user_column | string | 3.3. domain_column (string) 3.4. contact_column (string) 3.5. expires_column (string) 3.6. q_column (string) 3.7. callid_column (string) 3.8. cseq_column (string) 3.9. methods_column (string) 3.10. fl |
| domain_column | string | 3.4. contact_column (string) 3.5. expires_column (string) 3.6. q_column (string) 3.7. callid_column (string) 3.8. cseq_column (string) 3.9. methods_column (string) 3.10. flags_column (string) 3.11. cf |
| contact_column | string | 3.5. expires_column (string) 3.6. q_column (string) 3.7. callid_column (string) 3.8. cseq_column (string) 3.9. methods_column (string) 3.10. flags_column (string) 3.11. cflags_column (string) 3.12. us |
| expires_column | string | 3.6. q_column (string) 3.7. callid_column (string) 3.8. cseq_column (string) 3.9. methods_column (string) 3.10. flags_column (string) 3.11. cflags_column (string) 3.12. user_agent_column (string) 3.13 |
| q_column | string | 3.7. callid_column (string) 3.8. cseq_column (string) 3.9. methods_column (string) 3.10. flags_column (string) 3.11. cflags_column (string) 3.12. user_agent_column (string) 3.13. received_column (stri |
| callid_column | string | 3.8. cseq_column (string) 3.9. methods_column (string) 3.10. flags_column (string) 3.11. cflags_column (string) 3.12. user_agent_column (string) 3.13. received_column (string) 3.14. socket_column (str |
| cseq_column | string | 3.9. methods_column (string) 3.10. flags_column (string) 3.11. cflags_column (string) 3.12. user_agent_column (string) 3.13. received_column (string) 3.14. socket_column (string) 3.15. path_column (st |
| methods_column | string | 3.10. flags_column (string) 3.11. cflags_column (string) 3.12. user_agent_column (string) 3.13. received_column (string) 3.14. socket_column (string) 3.15. path_column (string) 3.16. ruid_column (stri |
| flags_column | string | 3.11. cflags_column (string) 3.12. user_agent_column (string) 3.13. received_column (string) 3.14. socket_column (string) 3.15. path_column (string) 3.16. ruid_column (string) 3.17. instance_column (s |
| cflags_column | string | 3.12. user_agent_column (string) 3.13. received_column (string) 3.14. socket_column (string) 3.15. path_column (string) 3.16. ruid_column (string) 3.17. instance_column (string) 3.18. reg_id_column (s |
| user_agent_column | string | 3.13. received_column (string) 3.14. socket_column (string) 3.15. path_column (string) 3.16. ruid_column (string) 3.17. instance_column (string) 3.18. reg_id_column (string) 3.19. server_id_column (st |
| received_column | string | 3.14. socket_column (string) 3.15. path_column (string) 3.16. ruid_column (string) 3.17. instance_column (string) 3.18. reg_id_column (string) 3.19. server_id_column (string) 3.20. connection_id_colum |
| socket_column | string | 3.15. path_column (string) 3.16. ruid_column (string) 3.17. instance_column (string) 3.18. reg_id_column (string) 3.19. server_id_column (string) 3.20. connection_id_column (string) 3.21. keepalive_co |
| path_column | string | 3.16. ruid_column (string) 3.17. instance_column (string) 3.18. reg_id_column (string) 3.19. server_id_column (string) 3.20. connection_id_column (string) 3.21. keepalive_column (string) 3.22. partiti |
| ruid_column | string | 3.17. instance_column (string) 3.18. reg_id_column (string) 3.19. server_id_column (string) 3.20. connection_id_column (string) 3.21. keepalive_column (string) 3.22. partition_column (string) 3.23. us |
| instance_column | string | 3.18. reg_id_column (string) 3.19. server_id_column (string) 3.20. connection_id_column (string) 3.21. keepalive_column (string) 3.22. partition_column (string) 3.23. use_domain (int) 3.24. desc_time_ |
| reg_id_column | string | 3.19. server_id_column (string) 3.20. connection_id_column (string) 3.21. keepalive_column (string) 3.22. partition_column (string) 3.23. use_domain (int) 3.24. desc_time_order (int) 3.25. timer_inter |
| server_id_column | string | 3.20. connection_id_column (string) 3.21. keepalive_column (string) 3.22. partition_column (string) 3.23. use_domain (int) 3.24. desc_time_order (int) 3.25. timer_interval (int) 3.26. db_url (string) |
| connection_id_column | string | 3.21. keepalive_column (string) 3.22. partition_column (string) 3.23. use_domain (int) 3.24. desc_time_order (int) 3.25. timer_interval (int) 3.26. db_url (string) 3.27. db_mode (int) 3.28. db_load (i |
| keepalive_column | string | 3.22. partition_column (string) 3.23. use_domain (int) 3.24. desc_time_order (int) 3.25. timer_interval (int) 3.26. db_url (string) 3.27. db_mode (int) 3.28. db_load (int) 3.29. db_insert_update (int) |
| partition_column | string | 3.23. use_domain (int) 3.24. desc_time_order (int) 3.25. timer_interval (int) 3.26. db_url (string) 3.27. db_mode (int) 3.28. db_load (int) 3.29. db_insert_update (int) 3.30. matching_mode (int) 3.31. |
| use_domain | int | 3.24. desc_time_order (int) 3.25. timer_interval (int) 3.26. db_url (string) 3.27. db_mode (int) 3.28. db_load (int) 3.29. db_insert_update (int) 3.30. matching_mode (int) 3.31. cseq_delay (int) 3.32. |
| desc_time_order | int | 3.25. timer_interval (int) 3.26. db_url (string) 3.27. db_mode (int) 3.28. db_load (int) 3.29. db_insert_update (int) 3.30. matching_mode (int) 3.31. cseq_delay (int) 3.32. fetch_rows (int) 3.33. hash |
| timer_interval | int | 3.26. db_url (string) 3.27. db_mode (int) 3.28. db_load (int) 3.29. db_insert_update (int) 3.30. matching_mode (int) 3.31. cseq_delay (int) 3.32. fetch_rows (int) 3.33. hash_size (int) 3.34. preload ( |
| db_url | string | 3.27. db_mode (int) 3.28. db_load (int) 3.29. db_insert_update (int) 3.30. matching_mode (int) 3.31. cseq_delay (int) 3.32. fetch_rows (int) 3.33. hash_size (int) 3.34. preload (string) 3.35. db_updat |
| db_mode | int | 3.28. db_load (int) 3.29. db_insert_update (int) 3.30. matching_mode (int) 3.31. cseq_delay (int) 3.32. fetch_rows (int) 3.33. hash_size (int) 3.34. preload (string) 3.35. db_update_as_insert (int) 3. |
| db_load | int | 3.29. db_insert_update (int) 3.30. matching_mode (int) 3.31. cseq_delay (int) 3.32. fetch_rows (int) 3.33. hash_size (int) 3.34. preload (string) 3.35. db_update_as_insert (int) 3.36. db_check_update |
| db_insert_update | int | 3.30. matching_mode (int) 3.31. cseq_delay (int) 3.32. fetch_rows (int) 3.33. hash_size (int) 3.34. preload (string) 3.35. db_update_as_insert (int) 3.36. db_check_update (int) 3.37. timer_procs (int) |
| matching_mode | int | 3.31. cseq_delay (int) 3.32. fetch_rows (int) 3.33. hash_size (int) 3.34. preload (string) 3.35. db_update_as_insert (int) 3.36. db_check_update (int) 3.37. timer_procs (int) 3.38. xavp_contact (strin |
Copyright © 2003 FhG FOKUS
Copyright © 2005 Voice Sistem SRL
Copyright © 2015 ng-voice GmbH