In this chapter, you learned all about the OpenSIPS configuration file, starting from its structure and types of routes all the way to using functions, variables, flags, and transformations. Soon, you will be able to put together a routing script, understand how the SIP traffic flows through the script, and what kind of routes are triggered for different SIP messages.
At this point, you have a better understanding of how SIP routing should be done. First, we saw the difference between stateful and stateless routing in terms of behavior, functions, and capabilities. Next, we saw the in-dialog routing and how to do proper SIP routing for the in-dialog requests. Here, you learned how to use the record routing and loose routing mechanisms in order to achieve correct and efficient SIP routing.
In the next chapter, we will see how to implement authentication; basically, how to use the database backends to process SIP requests and deal with calls.