<!-- Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. Please use this template only for feature requests.
If you have questions about using Kamailio or related to its configuration file, ask on sr-users mailing list:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot the issue.
If you submit a feature request (or enhancement) add the description of what you would like to be added.
If there is no content to be filled in a section, the entire section can be removed.
You can delete the comments from the template sections when filling.
You can delete next line and everything above before submitting (it is a comment). -->
### Description
Enable dialog module to user choose between INVITE or OPTIONS on send Re-INVITE on keep-alive
### Expected behavior
Make the dialog keep-alive through INVITE or OPTIONS. A user choice.
### Possible Solutions
In function dlg_send_ka of dlg_req_within.c:445, provide an option to choose the value from module config var, pv value, dlg flag, etc.
``` File: dlg_req_within.c
435 /* send keep-alive 436 * dlg - pointer to a struct dlg_cell 437 * dir - direction: the request will be sent to: 438 * DLG_CALLER_LEG (0): caller 439 * DLG_CALLEE_LEG (1): callee 440 */ 441 int dlg_send_ka(dlg_cell_t *dlg, int dir) 442 { 443 uac_req_t uac_r; 444 dlg_t* di; 445 str met = {"INVITE", 6}; 446 int result; 447 dlg_iuid_t *iuid = NULL; ```
### Additional Information
Just for local tests, i changed dlg_req_within.c:445 from {"OPTIONS",7} to {"INVITE",6} and worked like a charm. I don't know if this change will affect other parts of kamailio. Let me know if this change affect something else.
Thanks.
In which scenario would this be useful? The goal of keepalive is to detect if the endpoint is still connected and it is aware of the dialog. It is not going to work like a session timer re-INVITE, if you are looking for such kind of feature. The keepalive requests are sent with "invalid" CSeq.
Let's discuss this on sr-users@lists.kamailio.org mailing list to sort out why is needed, what are the side effects and the way to move forward.
Closed #1876.