{"id":92,"date":"2015-04-01T14:58:11","date_gmt":"2015-04-01T14:58:11","guid":{"rendered":"https:\/\/www.asipto.com\/sw\/?page_id=92"},"modified":"2015-04-01T15:03:15","modified_gmt":"2015-04-01T15:03:15","slug":"kamailio-admin-book-toc","status":"publish","type":"page","link":"https:\/\/www.asipto.com\/sw\/kamailio-admin-book-toc\/","title":{"rendered":"Kamailio Admin Book &#8211; ToC"},"content":{"rendered":"<p><span style=\"color: #808080;\"><em>(this is a draft of the table of content, the final version of the book might have slightly different structure)<\/em><\/span><\/p>\n<p><em><strong>SIP Routing with Kamailio<\/strong><\/em><\/p>\n<ul>\n<li>Introduction\n<ul>\n<li>Book Structure<\/li>\n<li>History of Kamailio SIP Server Project<\/li>\n<li>Kamailio vs. SER<\/li>\n<li>Application Type and Usage Target<\/li>\n<li>Kamailio Version Used in the Book<\/li>\n<li>Release Policy<\/li>\n<\/ul>\n<\/li>\n<li>SIP Overview\n<ul>\n<li>SIP Request<\/li>\n<li>SIP Response<\/li>\n<li>SIP Transaction<\/li>\n<li>SIP Dialog<\/li>\n<li>Record Routing<\/li>\n<\/ul>\n<\/li>\n<li>Kamailio Architecture\n<ul>\n<li>Kamailio Core\n<ul>\n<li>SIP Parser<\/li>\n<li>Memory Manager<\/li>\n<li>Locking Manger<\/li>\n<li>Transport Layer<\/li>\n<li>Configuration File Interpreter<\/li>\n<li>Variables Framework<\/li>\n<li>DNS Resolver<\/li>\n<li>Control Interface<\/li>\n<li>Modules Interface<\/li>\n<\/ul>\n<\/li>\n<li>Internal Libraries<\/li>\n<li>Modules<\/li>\n<\/ul>\n<\/li>\n<li>Kamailio Installation\n<ul>\n<li>Prerequisites<\/li>\n<li>Installation from GIT\n<ul>\n<li>Getting sources from GIT<\/li>\n<li>Tuning Makefiles<\/li>\n<li>Compile Kamailio<\/li>\n<li>Install Kamailio<\/li>\n<li>Installed Files<\/li>\n<li>Create MySQL database<\/li>\n<li>Updating configuration file<\/li>\n<li>Start and Stop Script<\/li>\n<li>Adding Users<\/li>\n<li>Maintenance<\/li>\n<\/ul>\n<\/li>\n<li>Installation from Tarball<\/li>\n<li>Installation from Packages<\/li>\n<li>Notes about CentOS<\/li>\n<li>Command Line Parameters\n<ul>\n<li>Kamailio Version<\/li>\n<li>Debug Level<\/li>\n<li>Debug Output<\/li>\n<li>Configuration File<\/li>\n<li>Hostname Aliases<\/li>\n<li>Defining Values<\/li>\n<li>Configuration File Check<\/li>\n<li>Shared Memory Size<\/li>\n<li>Private Memory Size<\/li>\n<\/ul>\n<\/li>\n<li>Running Tips\n<ul>\n<li>Running from Source Tree<\/li>\n<li>Running Multiple Instance on Same Host<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Kamailio Tools\n<ul>\n<li>Kamctl\n<ul>\n<li>Kamctlrc Parameters\n<ul>\n<li>SIP Domain Parameter<\/li>\n<li>Database Access Parameters<\/li>\n<li>Control Engine Parameters<\/li>\n<li>Configuration Parameters in Command Line<\/li>\n<\/ul>\n<\/li>\n<li>Kamctl Commands\n<ul>\n<li>Subscriber Management<\/li>\n<li>Location Management<\/li>\n<li>Database Interaction<\/li>\n<li>Kamailio Control Commands<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Kamdbctl\n<ul>\n<li>Database Creation<\/li>\n<li>Database Removal<\/li>\n<\/ul>\n<\/li>\n<li>Sercmd\n<ul>\n<li>Sercmd vs Kamctl<\/li>\n<li>Sercmd Options<\/li>\n<li>Sercmd Commands\n<ul>\n<li>Execute MI Commands<\/li>\n<li>Print Private Memory Statistics<\/li>\n<li>Setting Configuration File Variables<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Siremis Web Management Interface\n<ul>\n<li>Installation\n<ul>\n<li>Requirements<\/li>\n<li>Download<\/li>\n<li>Local Configuration<\/li>\n<li>Database Configuration<\/li>\n<li>Web Server Configuration<\/li>\n<li>Installation Wizard\n<ul>\n<li>First Page<\/li>\n<li>Step 1<\/li>\n<li>Step 2<\/li>\n<li>Step 3<\/li>\n<li>Step 4<\/li>\n<\/ul>\n<\/li>\n<li>Post Installation Remarks<\/li>\n<li>Security Considerations<\/li>\n<\/ul>\n<\/li>\n<li>Using Siremis<\/li>\n<li>Additional Components\n<ul>\n<li>Accounting Services<\/li>\n<li>MI Commands Panel<\/li>\n<li>XMLRPC Commands Panel<\/li>\n<li>Charts Services\n<ul>\n<li>Database Configuration<\/li>\n<li>Kamailio Configuration<\/li>\n<li>Siremis Configuration<\/li>\n<li>Charts Screenshots<\/li>\n<\/ul>\n<\/li>\n<li>Adding New Views\n<ul>\n<li>Prerequisites<\/li>\n<li>Generating New Table View<\/li>\n<li>Inserting the New View In Menu<\/li>\n<li>Removing The Tools<\/li>\n<li>More Documentation<\/li>\n<\/ul>\n<\/li>\n<li>Public Registration\n<ul>\n<li>Important Advice<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Kamailio Configuration File Structure\n<ul>\n<li>Overview Of Configuration File<\/li>\n<li>Special Components\n<ul>\n<li>First Line<\/li>\n<li>Comments<\/li>\n<li>Preprocessor Directives\n<ul>\n<li>Include File<\/li>\n<li>Define\n<ul>\n<li>ID Replacement<\/li>\n<li>Preprocessing Conditional Blocks<\/li>\n<\/ul>\n<\/li>\n<li>Subst<\/li>\n<li>Substdef<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Global Parameters\n<ul>\n<li>Core Parameters<\/li>\n<li>Custom Parameters<\/li>\n<\/ul>\n<\/li>\n<li>Modules Settings\n<ul>\n<li>Loading Modules<\/li>\n<li>Module Parameters<\/li>\n<\/ul>\n<\/li>\n<li>Routing Blocks\n<ul>\n<li>request_route<\/li>\n<li>route[ID]<\/li>\n<li>branch_route[ID]<\/li>\n<li>failure_route[ID]<\/li>\n<li>onsend_route<\/li>\n<li>reply_route<\/li>\n<li>onreply_route[ID]<\/li>\n<li>event_route[ID]<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>SIP Message Routing\n<ul>\n<li>SIP Request Routing<\/li>\n<li>SIP Request Routing on Retransmission Timeout<\/li>\n<li>SIP Response Routing<\/li>\n<\/ul>\n<\/li>\n<li>Configuration File Elements\n<ul>\n<li>Action<\/li>\n<li>Values\n<ul>\n<li>Integer Values<\/li>\n<li>String Values<\/li>\n<\/ul>\n<\/li>\n<li>Special Tokens\n<ul>\n<li>ID<\/li>\n<li>Networking Attributes<\/li>\n<li>Variable Keyword<\/li>\n<li>Value Keyword\n<ul>\n<li>myself keyword<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Variables\n<ul>\n<li>Pseudo-Variables\n<ul>\n<li>Transformations<\/li>\n<\/ul>\n<\/li>\n<li>Selects<\/li>\n<\/ul>\n<\/li>\n<li>Operators\n<ul>\n<li>Assignment<\/li>\n<li>String Operators<\/li>\n<li>Arithmetic Operators<\/li>\n<li>Logical Operators<\/li>\n<li>Bitwise Operators<\/li>\n<\/ul>\n<\/li>\n<li>Statements\n<ul>\n<li>IF<\/li>\n<li>WHILE<\/li>\n<li>SWITCH<\/li>\n<\/ul>\n<\/li>\n<li>Functions\n<ul>\n<li>Core Functions<\/li>\n<li>Module Functions<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Default Configuration File\n<ul>\n<li>Overview<\/li>\n<li>Listing<\/li>\n<li>Analysis<\/li>\n<li>Remarks<\/li>\n<\/ul>\n<\/li>\n<li>Building Configuration Files\n<ul>\n<li>The Simplest Configuration Files<\/li>\n<li>Stateless Forwarding<\/li>\n<li>Respond with 200 OK Always<\/li>\n<li>Respond Selectively Always<\/li>\n<li>SIP Redirect Server<\/li>\n<li>Simple Stateless Round-Robin Load Balancer<\/li>\n<li>Simple Stateful Round-Robin Load Balancer<\/li>\n<li>Stateful Load Balancer with Failure Routing<\/li>\n<li>Remarks<\/li>\n<\/ul>\n<\/li>\n<li>Configuration Flags\n<ul>\n<li>Concept<\/li>\n<li>Transaction Flags<\/li>\n<li>Branch Flags<\/li>\n<li>Script Flags<\/li>\n<li>Usage in Default Configuration File<\/li>\n<\/ul>\n<\/li>\n<li>Execution Control Actions\n<ul>\n<li>exit<\/li>\n<li>drop<\/li>\n<li>route<\/li>\n<li>return\n<ul>\n<li>Return Code Evaluation<\/li>\n<\/ul>\n<\/li>\n<li>break<\/li>\n<\/ul>\n<\/li>\n<li>Special Configuration Variables\n<ul>\n<li>Null<\/li>\n<\/ul>\n<ul>\n<li>AVP<\/li>\n<li>XAVP<\/li>\n<li>VAR<\/li>\n<li>SHV<\/li>\n<li>SHT<\/li>\n<li>HDR<\/li>\n<li>Return Code<\/li>\n<li>SIP Message Variables<\/li>\n<\/ul>\n<\/li>\n<li>Request URI Management\n<ul>\n<li>Prefixing or Suffixing R-URI Username<\/li>\n<li>Stripping R-URI Username<\/li>\n<li>Dialed Number Normalization<\/li>\n<li>R-URI Parameters<\/li>\n<\/ul>\n<\/li>\n<li>Caller ID Management\n<ul>\n<li>From Header Variables<\/li>\n<li>From Header Update and Automatic Restoring\n<ul>\n<li>Anonymous Caller ID<\/li>\n<\/ul>\n<\/li>\n<li>Caller ID Updates With Assignments<\/li>\n<\/ul>\n<\/li>\n<li>User Authentication\n<ul>\n<li>SIP Authentication Overview<\/li>\n<li>Authentication Modules<\/li>\n<li>Authentication Using a Database Backend\n<ul>\n<li>Subscriber Table<\/li>\n<li>Adding Subscribers<\/li>\n<li>Loading Credentials<\/li>\n<li>Authentication Functions<\/li>\n<\/ul>\n<\/li>\n<li>Authentication Using a Custom Backend<\/li>\n<li>Remarks<\/li>\n<\/ul>\n<\/li>\n<li>Access Control Lists\n<ul>\n<li>Group Membership\n<ul>\n<li>Managing Group Memberships with Kamctl<\/li>\n<li>Managing Group Memberships with Siremis<\/li>\n<li>Group Module API<\/li>\n<li>Using Group Module in Configuration File<\/li>\n<li>Group Membership with Radius Server<\/li>\n<\/ul>\n<\/li>\n<li>Subscriber Profile ACL<\/li>\n<\/ul>\n<\/li>\n<li>IP Based Access Rules\n<ul>\n<li>Static Rules in Configuration File<\/li>\n<li>IPOPS Module Rules in Configuration File<\/li>\n<li>Permissions Module Rules in Configuration File\n<ul>\n<li>Records Management\n<ul>\n<li>Management with Kamctl<\/li>\n<li>Management with Siremis<\/li>\n<\/ul>\n<\/li>\n<li>Usage in Default Configuration File<\/li>\n<li>Usage of Address Matching Rules<\/li>\n<\/ul>\n<\/li>\n<li>IP Address Matching Rules via Other Modules<\/li>\n<\/ul>\n<\/li>\n<li>Registrar and Location Services\n<ul>\n<li>SIP Registration<\/li>\n<li>Registrar Module\n<ul>\n<li>Limiting the Number of Contacts<\/li>\n<li>Registration Test<\/li>\n<li>Fetching Contacts in Configuration File Variables<\/li>\n<\/ul>\n<\/li>\n<li>Usrloc Module<\/li>\n<li>Listing Location Records\n<ul>\n<li>Using Kamctl<\/li>\n<\/ul>\n<\/li>\n<li>Using Siremis<\/li>\n<li>Usage in Default Configuration File<\/li>\n<\/ul>\n<\/li>\n<li>NAT Traversal\n<ul>\n<li>NAT Overview\n<ul>\n<li>Types of NAT<\/li>\n<\/ul>\n<\/li>\n<li>SIP and NAT<\/li>\n<li>NAT Traversal Options<\/li>\n<li>Kamailio and NAT Traversal\n<ul>\n<li>Nathelper Module<\/li>\n<\/ul>\n<ul>\n<li>Rtpproxy Module<\/li>\n<li>RTPProxy Application\n<ul>\n<li>RTPProxy Installation<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Registration through NAT<\/li>\n<li>VoIP Calls through NAT<\/li>\n<li>NAT Traversal and Default Configuration File<\/li>\n<li>Optimizations\n<ul>\n<li>Caller and Callee behind same NAT<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Accounting\n<ul>\n<li>Overview<\/li>\n<li>Accounting Details<\/li>\n<li>Accounting Mechanisms<\/li>\n<li>Accounting and Default Configuration File<\/li>\n<li>Accounting using Siremis<\/li>\n<\/ul>\n<\/li>\n<li>Troubleshooting SIP and Kamailio<\/li>\n<li>SIP Security<\/li>\n<li>References for Typical Use Cases<\/li>\n<li>Useful Resources<\/li>\n<\/ul>\n<p><a href=\"\/sw\/kamailio-admin-book\/\">Link to go back to Kamailio book summary page<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(this is a draft of the table of content, the final version of the book might have slightly different structure) SIP Routing with Kamailio Introduction Book Structure History of Kamailio SIP Server Project Kamailio vs. SER Application Type and Usage Target Kamailio Version Used in the Book Release Policy SIP Overview SIP Request SIP Response [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-92","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.asipto.com\/sw\/wp-json\/wp\/v2\/pages\/92","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.asipto.com\/sw\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.asipto.com\/sw\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.asipto.com\/sw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.asipto.com\/sw\/wp-json\/wp\/v2\/comments?post=92"}],"version-history":[{"count":5,"href":"https:\/\/www.asipto.com\/sw\/wp-json\/wp\/v2\/pages\/92\/revisions"}],"predecessor-version":[{"id":98,"href":"https:\/\/www.asipto.com\/sw\/wp-json\/wp\/v2\/pages\/92\/revisions\/98"}],"wp:attachment":[{"href":"https:\/\/www.asipto.com\/sw\/wp-json\/wp\/v2\/media?parent=92"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}