SIP Express Router v0.8.8 - Developer's Guide

Jan Janak

Jiri Kuthan

Bogdan Iancu


Table of Contents
The Server Startup
Installation Of New Signal Handlers
Processing Command Line Parameters
Parser Initialization
Malloc Initialization
Timer Initialization
FIFO Initialization
Built-in Module Initialization
Server Configuration
Lexical Analysis
Syntactical Analysis
Config File Structure
Interface Configuration
Turning into a Daemon
Module Initialization
Routing List Fixing
Statistics Initialization
Socket Initialization
Forking
dont_fork variable is set (not zero)
dont_fork is not set (zero)
Main Loop
receive_msg Function
The Server Shutdown
Internal Data Structures
Type str
Structure hdr_field
Structure sip_uri
Structure via_body
Structure ip_addr
Structure lump
Structure lump_rpl
Structure msg_start
Structure sip_msg
The Routing Engine
do_action Function
The Message Parser
Structure of a SIP Message
The Parser Organization
The First Line Parser
The Header Field Name Parser
The Header Field Body Parsers
The Module Interface
Structure sr_module
Structure module_exports
Module Loading
Module Configuration
Function modparam
Function set_mod_param
Function find_param_export
Finding an Exported Function
Additional Functions
The Database Interface
Data types
Type db_con_t
Type db_key_t
Type db_type_t
Type db_val_t
Type db_row_t
Type db_res_t
Functions
bind_dbmod
db_init
db_close
db_query
db_free_query
db_insert
db_delete
db_update
db_use_table
Basic Modules
Digest Authentication
Exported Parameters
Exported Functions
Max Forwards
Exported Parameters
Exported Functions
Registrar
Exported Parameters
Exported Functions
Record-Routing
Exported Parameters
Exported Functions
Stateless Replies
Exported Parameters
Exported Functions
Transaction Module
External Usage of TM
Exported Parameters
Exported Functions
Known Issues
User Location Module
Exported Parameters
Exported Functions