Copyright © 2004, 2005 voice-system.ro
avp_url
(string)avp_table
(string)avp_aliases
(string)use_domain
(integer)uuid_column
(string)username_column
(string)domain_column
(string)attribute_column
(string)value_column
(string)type_column
(string)db_scheme
(string)avp_db_load(source,name)
avp_db_store(source,name)
avp_db_delete(source,name)
avp_write(value,name)
avp_delete(name)
avp_pushto(destination,name)
avp_check(name,op_value)
avp_print()
avp_url
parameteravp_table
parameteravp_aliases
parameteruse_domain
parameteruuid_column
parameterusername_column
parameterdomain_column
parameterattribute_column
parametervalue_column
parametertype_column
parameterdb_scheme
parameteravp_db_load
usageavp_db_store
usageavp_db_delete
usageavp_write
usageavp_delete
usageavp_pushto
usageavp_check
usageavp_print
usageAVPops (AVP-operations) modules implements a set of script functions which allow access and manipulation of user AVPs (preferences). AVPs are a powerful tool for implementing services/preferences per user/domain. Now they are usable directly from configuration script. Functions for interfacing DB resources (loading/storing/removing), functions for swapping information between AVPs and SIP messages, function for testing/checking the value of an AVP.
An up-to-date tutorial providing more information (detailed explanations and commented examples) can be found on Voice Sistem documentation web page at http://voice-system.ro/docs/avpops .
The following modules must be loaded before this module:
Optionally a database module
The following libraries or applications must be installed before running OpenSER with this module loaded:
None
avp_url
(string)DB URL for database connection.
This parameter is optional, it's default value being NULL.
avp_table
(string)DB table to be used.
This parameter is optional, it's default value being NULL.
avp_aliases
(string)Contains a multiple definition of aliases for AVP names.
This parameter is optional.
use_domain
(integer)If the domain part of the an URI should be used for identifying an AVP in DB operations.
Default value is "0 (no)".
uuid_column
(string)Name of column containing the uuid (unique user id).
Default value is "uuid".
username_column
(string)Name of column containing the username.
Default value is "username".
attribute_column
(string)Name of column containing the attribute name (AVP name).
Default value is "attribute".
db_scheme
(string)Definition of a DB schemeto be used for non-standard access to Database information.
Default value is "NULL".
avp_db_load(source,name)
Loads from DB into memory the AVPs corresponding to the given source.
Meaning of the parameters is as follows:
source - what info is used for identifying the AVPs. Parameter syntax:
source = (sip_uri)['/'('username'|'domain')]) | (avp_alias) | str_value
sip_uri = '$from' | '$to' | '$ruri'
name - which AVPs will be loaded from DB into memory. Parameter syntax is:
name = avp_spec['/'(table_name|'$'db_scheme)]
avp_spec = ''|'s:'|'i:'|avp_name|avp_alias
avp_db_store(source,name)
Stores to DB the AVPs corresponding to the given source.
The meaning and usage of the parameters are identical as for avp_db_load(source,name) function. Please refer to its description.
avp_db_delete(source,name)
Deletes from DB the AVPs corresponding to the given source.
The meaning and usage of the parameters are identical as for avp_db_load(source,name) function. Please refer to its description.
avp_write(value,name)
The function writes some value (given) or some information from the SIP message into a new AVP.
Meaning of the parameters is as follows:
value - the value to be written into the AVP. Parameter syntax:
value = (variable) | (fix_value)
variable = '$src_ip' | (sip_uri)['/'('username'|'domain')])
sip_uri = '$from' | '$to' | '$ruri'
fix_value = 'i:'integer | 's:'string | string
name - the name of the new written AVP. Parameter syntax is:
name = avp_name | avp_alias
avp_delete(name)
Deletes from memory the AVPs with name or, if empty, all AVPs.
Meaning of the parameters is as follows:
name - which AVPs will be deleted from memory. Parameter syntax is:
name = (''|'s:'|'i:'|avp_name|avp_alias)['/'flag]
flag = 'g'|'G'
avp_pushto(destination,name)
Pushes the value of AVP(s) into the SIP message.
Meaning of the parameters is as follows:
destination - as what will be the AVP value pushed into SIP message. Parameter syntax:
destination = ruri_dst | hdr_dst
ruri_dst = '$ruri'['/'('username'|'domain')]
hdr_dst = '$hdr_name'['/'('request'|'reply')]
name - which AVP(s) should be pushed into the SIP message. Parameter syntax is:
name = ( avp_name | avp_alias )['/'flags]
flags = 'g'
avp_check(name,op_value)
Checks the value of the AVP(s) against an operator and value.
Meaning of the parameters is as follows:
name - which AVP(s) should be checked. Parameter syntax is:
name = ( avp_name | avp_alias )
op_value - define the operator, the value and flags for checking. Parameter syntax is:
op_value = operator '/' value ['/'flags]
operator = 'eq' | 'lt' | 'gt' | 're'
value = variable | fix_value
variable = '$from'|'$ruri'|'$from'|'$src_ip'|avp_alias
fix_value = 'i:'integer | 's:'string | string
flags = 'g' | 'G' | 'i' | 'I'
avp_print()
Prints the list with all the AVPs from memory. This is only a helper/debug function.
The AVPOPS module requires one more column in the usr_preferences table than how it is created now by ser_mysql script. The missing column is "type". Till the discrepancy is fixed, please add by hand the column "type" integer, not null, default 0 .
An up-to-date tutorial providing more information (detailed explanations and commneted examples) can be found on Voice Sistem documentation web page at http://voice-system.ro/docs/avpops .
Sent an email to <team@openser.org>
or,
if you want to keep the mail private, send it to
<ramona@voice-system.ro>
.
Remember: first at all, check if your question was already answered on one of OpenSER mailing lists:
User Mailing List - http://openser.org/mailman/listinfo/users
Developer Mailing List - http://openser.org/mailman/listinfo/devel
Accumulate as much as possible information (OpenSER version,
openser -V output, your OS (uname -a), OpenSER logs, network dumps,
core dump files, configuration file)
and send a mail to <team@openser.org>
.