Table of Contents
List of Tables
List of Examples
This module provides a way to generate universally unique identifiers (UUID) as specified in RFC 4122. The UUID is provided as a string representation by reading the $uuid pseudo-variable or calling the uuid() script function.
The $uuid variable returns a newly generated version 4 UUID based on high-quality randomness from /dev/urandom, if available. Otherwise, a version 1 UUID (based on current time and the local ethernet MAC address) will be generated.
Generates a new UUID.
out_var (var) - an output variable to return the generated UUID.
version (string, optional) - UUID version number. The supported values are:
0 - a RFC version 4 or version 1 UUID will be generated, depending on the availability of high-quality randomness from /dev/urandom. This is the default behavior, if the version parameter is missing.
1 - version 1 UUID based on current time and the local ethernet MAC address
3 - version 3 UUID generated by hashing a namespace identifier and name via MD5.
4 - version 4 UUID based on a high-quality random number generator. If not available, a pseudo-random generator will be substituted.
5 - version 5 UUID generated by hashing a namespace identifier and name via SHA-1.
7 - version 7 UUID generated by timestamp and randomness.
namespace (string, optional) - the namespace identifier used with UUID version 3 and 5. This must be a valid UUID, see RFC 4122 Appendix C for some predefined values.
name (string, optional) - the name used with UUID version 3 and 5.
If UUID version 1 is used, the function will return the value 2 if the UUID was generated in an unsafe manner. This refers to the posibility of two concurrently running processes generating the same UUID, in cases where synchronization mechanisms are not available (more details can be found in the uuid_generate man pages of libuuid).
This function can be used from any route.
Table 2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)
Name | DevScore | Commits | Lines ++ | Lines -- | |
---|---|---|---|---|---|
1. | Vlad Patrascu (@rvlad-patrascu) | 9 | 4 | 368 | 4 |
2. | John Burke (@john08burke) | 5 | 3 | 63 | 15 |
3. | Maksym Sobolyev (@sobomax) | 5 | 3 | 5 | 5 |
4. | Razvan Crainea (@razvancrainea) | 4 | 2 | 2 | 1 |
5. | Norman Brandinger (@NormB) | 3 | 1 | 1 | 1 |
6. | Aron Podrigal (@ar45) | 2 | 1 | 38 | 0 |
(1) DevScore = author_commits + author_lines_added / (project_lines_added / project_commits) + author_lines_deleted / (project_lines_deleted / project_commits)
(2) including any documentation-related commits, excluding merge commits. Regarding imported patches/code, we do our best to count the work on behalf of the proper owner, as per the "fix_authors" and "mod_renames" arrays in opensips/doc/build-contrib.sh. If you identify any patches/commits which do not get properly attributed to you, please submit a pull request which extends "fix_authors" and/or "mod_renames".
(3) ignoring whitespace edits, renamed files and auto-generated files
Table 2.2. Most recently active contributors(1) to this module
Name | Commit Activity | |
---|---|---|
1. | Aron Podrigal (@ar45) | Sep 2024 - Sep 2024 |
2. | Maksym Sobolyev (@sobomax) | Feb 2023 - Nov 2023 |
3. | Norman Brandinger (@NormB) | Aug 2021 - Aug 2021 |
4. | Vlad Patrascu (@rvlad-patrascu) | Jun 2019 - Feb 2021 |
5. | John Burke (@john08burke) | Feb 2021 - Feb 2021 |
6. | Razvan Crainea (@razvancrainea) | Aug 2019 - Sep 2019 |
(1) including any documentation-related commits, excluding merge commits
Last edited by: Aron Podrigal (@ar45), Norman Brandinger (@NormB), John Burke (@john08burke), Vlad Patrascu (@rvlad-patrascu).
Documentation Copyrights:
Copyright © 2019 www.opensips-solutions.com