Regfile

From Yate Documentation
Jump to: navigation, search

Regfile is a registration module. It can be used for autentication, registration, and routing for users configured in a file.
When we talk about users we can refer to phones, softclients or another server. The user can use any protocol that allows registration in Yate like SIP, H323, IAX or Jabber.
Regfile can be used as a demo module for people who want to develop their own autentication, registration, or routing module.

Contents

How to define users in regfile

The configuration file is regfile.conf.

For each user you have to define a section in regfile.conf.

; you have to put username as a category and password into key password
; if password is missing the module will only register but not authenticate
; if password exists and is empty will blindly authenticate anybody
[username]
;password=something

Examples

To register a Grandstream Budgetone SIP phone, with username bt101, to a Yate SIP Server, in regfile.conf:

[bt101]
password=mysecretpass


To register a Jabber user to Yate Jabber Server you have to configure in regfile.conf:

;[username@domain]
[100@192.168.168.1]
password=mysecretpassword

Defining messages priorities

In [general] section you can set the priority of the various messages handled by regfile and define file where registration information can be saved.

[general]
; auth setups the user.auth handler priority
auth=100
; register setups the user.register and user.unregister 
; handlers priority
register=100
; route setups the call.route handler priority
route=100
; file: string. An auxiliary conf file used to save and load from it autocreated and registered entries
; If file don't exists the registered entities will be lost on reload
;file=/path/filename

You must set the file parameter so that the registered entities will not be lost on reload Yate.

Note: The registration of users are lost on Yate restart if you don't set a file for persistent storage in regfile.conf. So only registration is lost, not their account/password. 

If the routing is done from several routing modules then you have to pay attention to the priorities of the call.route message handler for each module.

Note: If you also use regexroute.conf for routing, you have to set priority of route. By default they both have 100 priority so at each startup of Yate the order is randomly 
selected. The one who has lower priority is first executed.

Adding parameters to registered users

Other parameters that can be configured for each defined account:

[username]
; alternatives: list of called party numbers separated by coma
; Note if multiple users share the same party number the call will go to all users.
;alternatives= num1,num2,....
;
; Set/Modify call.route parameters when the caller matches this section
; You can put call.route replacement ${variables} on the right side
; Note: Any parameter except for "password" and "alternatives" will be used for set/modify
;
; Ex:
; Modify caller name
;callername=name
;
; Modify caller number
;caller=number
;
; Replacement example
;callername=John Doe from ${address}
;
;param=value

Limit calls only for autenticated users

If you want to limit the access to make calls only to autenticated users you have to setup in regexroute.conf in section [default] this line:

${username}^$=-;error=noauth


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers