Module sipuserdb_mnesia

A sipuserdb module with a Mnesia backend.

Introduced in: 30 Sep 2003 by Fredrik Thulin <ft@it.su.se>

Behaviours: sipuserdb.

Authors: Fredrik Thulin.

Description

A sipuserdb module with a Mnesia backend. Uses the ol' functions in phone.erl of course.

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 Return a list of classes for this Username.
get_forward_for_user/1 Return the forward entry for a user.
get_forwards_for_users/1 Return a list of forwards for this user.
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(Rest::UserList) -> Addresses | nomatch | error

Iterate over a list of users, return all their addresses without duplicates. Uses the next function, get_addresses_for_user/1.

get_classes_for_user/1

get_classes_for_user(User::Username) -> Classes | nomatch | error

Return a list of classes for this Username. Classes are 'free-form' atoms of types of PSTN destinations this user is allowed to call to, through a pstnproxy. What class a PSTN number is in is determined through pstnproxy configuration.

get_forward_for_user/1

get_forward_for_user(User::Username) -> ForwardList | nomatch

Return the forward entry for a user. Forwards are currently not in the main YXA CVS repository - Magnus has some CVS merging to do.

get_forwards_for_users/1

get_forwards_for_users(In::Usernames) -> ForwardList | nomatch

Return a list of forwards for this user. Forwards are currently not in the main YXA CVS repository - Magnus has some CVS merging to do.

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

Return the telephone number for a user.

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(In::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:18.