OpenSIPS has to match all the sequential requests to a specific dialog. To perform this task, it usually applies a cookie (DID). This cookie is present in the Record-Route headers for initial requests and the Route headers for sequential requests. Let's take a look at the following example for an INVITE and its corresponding sequential request, BYE:
Initial request:
INVITE sip:[email protected]:5060 SIP/2.0 Record-Route: <sip:2.2.2.2:5060;lr;did=0db.28e94f74>
Sequential request:
BYE sip:[email protected]:5060 SIP/2.0 Route: <sip:1.1.1.1:5060;lr; did=0db.28e94f74>
If, for some reason, the client is broken and does not insert the Route headers correctly with cookies, you will have to fall back to a pure SIP dialog matching based on call-id
, from-tag
, and to-tag
. You can control the dialog match using the following parameter:
modparam("dialog", "dlg_match_mode", 1)
The following Match modes are available: