# ExKamailio v0.1.0 - Table of Contents > Elixir integration for the Kamailio SIP server via the rtpengine WebSocket control protocol. ## Pages - [ex_kamailio](readme.md) - [LICENSE](license.md) ## Modules - [ExKamailio.CallHandler](ExKamailio.CallHandler.md): Behaviour for the module that handles each call's media. - [ExKamailio.CallHandler.Default](ExKamailio.CallHandler.Default.md): Passthrough used when `:call_handler` config field is not set. It returns each peer's SDP unchanged, so the peers send media straight to each other and an app that pulls ex_kamailio in without configuring it, as a transitive dependency, still routes calls. Set `:call_handler` config field to handle the media yourself. Take a look at `README.md` for more information. - [ExKamailio.Session](ExKamailio.Session.md): State of a single call, threaded through `ExKamailio.CallHandler` callbacks: the SIP identifiers plus every SDP that crossed the wire, in both directions. A field is nil until the call has reached the step that fills it.