Module sipuserdb_ldap

A sipuserdb module with an LDAP backend.

Introduced in: 09 Oct 2003 by Fredrik Thulin <ft@it.su.se>

Behaviours: sipuserdb.

Authors: Fredrik Thulin.

Description

A sipuserdb module with an LDAP backend.

Function Index

get_addresses_for_user/1 Get all possible addresses of a user.
get_addresses_for_users/1 Iterate over a list of users, return all their addresses without duplicates.
get_classes_for_user/1 Should return a list of classes allowed for a user.
get_forward_for_user/1 Should return the forward address for a user.
get_forwards_for_users/1 Should return a list of forwards for a list of users.
get_password_for_user/1 Returns the password for a user.
get_telephonenumber_for_user/1 Return the telephone number for a user.
get_user_with_address/1 Looks up exactly one user with an Address.
get_users_for_address_of_record/1 Get all usernames of users matching an address.
get_users_for_addresses_of_record/1 Iterate over a list of addresses of record, return all users matching one or more of the addresses, without duplicates.
get_users_for_url/1 Given an URL that is typically the Request-URI of an incoming request, make a list of implicit user addresses and return a list of all users matching any of these addresses.

Function Details

get_addresses_for_user/1

get_addresses_for_user(User) -> Addresses | error

Get all possible addresses of a user. Both configured ones, and implicit ones. Used for example to check if a request from a user has an acceptable From: header.

get_addresses_for_users/1

get_addresses_for_users(UserList) -> Addresses | nomatch | error

Iterate over a list of users, return all their addresses without duplicates.

get_classes_for_user/1

get_classes_for_user(User::Username) -> []

Should return a list of classes allowed for a user. This is not yet implemented in the LDAP userdb. XXX FIX. The reason it isn't implemented is because we (SU) haven't decided on how to represent classes in the LDAP schema.

get_forward_for_user/1

get_forward_for_user(User::Username) -> nomatch

Should return the forward address for a user. This is not yet implemented in the LDAP userdb. XXX FIX. The reason it isn't implemented is because we (SU) haven't decided on how to represent forwards in the LDAP schema. XXX we haven't? Isn't this "sipRoutingAddress"?

get_forwards_for_users/1

get_forwards_for_users(Usernames) -> nomatch

Should return a list of forwards for a list of users. This is not yet implemented in the LDAP userdb. XXX FIX. The reason it isn't implemented is because we (SU) haven't decided on how to represent forwards in the LDAP schema. XXX we haven't? Isn't this "sipRoutingAddress"?

get_password_for_user/1

get_password_for_user(User::Username) -> Password | nomatch | error

Returns the password for a user.

get_telephonenumber_for_user/1

get_telephonenumber_for_user(User) -> Number | nomatch | error

Return the telephone number for a user. We do this by fetching all addresses for the user and then examining them to see if any of them is a tel: URL, or has a user part which is all numeric or is an E.164 number. The numbering plan in the number return is not specified.

get_user_with_address/1

get_user_with_address(Address) -> Username | nomatch | error

Looks up exactly one user with an Address. Used for example in REGISTER. If there are multiple users with this address in our database, this function returns 'error'.

get_users_for_address_of_record/1

get_users_for_address_of_record(Address) -> Users | nomatch | error

Get all usernames of users matching an address. Used to find out to which users we should send a request.

get_users_for_addresses_of_record/1

get_users_for_addresses_of_record(AddressList::Addresses) -> Users | nomatch | error

Iterate over a list of addresses of record, return all users matching one or more of the addresses, without duplicates.

get_users_for_url/1

get_users_for_url(URL) -> Usernames

Given an URL that is typically the Request-URI of an incoming request, make a list of implicit user addresses and return a list of all users matching any of these addresses. This is located in here since user database backends can have their own way of deriving addresses from a Request-URI.


Generated by EDoc, Oct 17 2007, 16:48:17.