[sr-dev] [kamailio/kamailio] CSeq is not being updated for ACK messges after upgrade to 5.3.7. Dialog + UAC module (#2559)

arkadiam notifications at github.com
Tue Nov 24 20:20:48 CET 2020


### Description

After updating from 5.3.6 to 5.3.7 Kamailio is no longer increments CSeq for ACK when used together with UAC module.

Usage scenario:
<pre>
|EP1                   | Kamailio             | PBX
|    ->INVITE ->       |                      |
|    <- 407 -          |                      |
|    - ACK ->          |                      |
| -> INVITE SDP AUTH-> |                      |
|    <- 100 Trying -   |                      |
|                      | - INVITE SDP ->      |
|                      | <- 407 -             |
|                      | -> ACK ->            |
|                      | - INVITE SDP AUTH -> |
|                      | <- 100 Trying -      |
|                      | <- 200 OK -          |
|    <- 200 OK -       |                      |
|    - ACK ->          |                      |
|                      | - ACK ->             |
...
</pre>

Kamailio is configured to use dialog module and calling "dlg_manage();"
UAC module is used to authenticate request on the PBX.
Because of the authentication against the PBX the CSeq is being incremented independently between Kamailio & PBX.
ACK that is send to the PBX after 200 OK usually is CSeq + 1 from EP1 ACK message.

After update, Cseq is no longer incremented in ACK which cause re-transmission of 200 OK by the PBX and eventually in 30 sec PBX drops the call because 200 is not being acknowledged.


Dialog configured as:
modparam("dialog", "dlg_flag", FLD_TRACKDLG)
modparam("dialog", "track_cseq_updates", 1)
modparam("dialog", "dlg_match_mode", 1)
modparam("dialog", "timeout_avp", "$avp(dlgtimeout)")
modparam("dialog", "default_timeout", 43200)

UAC configured as:
modparam("uac", "reg_db_url", DBURL)
modparam("uac", "reg_contact_addr", REG_CONTACT)
modparam("uac", "reg_timer_interval", 10)
modparam("uac", "restore_from_avp","$avp(original_uri_from)")
modparam("uac", "restore_to_avp","$avp(original_uri_to)")
modparam("uac", "restore_dlg", 1)
modparam("uac", "auth_username_avp","$avp(auser)")
modparam("uac", "auth_password_avp","$avp(apass)")
modparam("uac", "auth_realm_avp","$avp(arealm)")
modparam("uac", "restore_mode","manual")


### Possible Solutions

After reverting this commit   a973882b064c758972ce40e9ac3a83440c613be1 CSeq started to update properly.
"dialog: skip non-INVITE initial request for cseq update processing"


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2559
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20201124/3110a3cd/attachment-0001.htm>


More information about the sr-dev mailing list