The uac_redirect fails to load in 5.6. It used to load fine before. It is complaining about the acc API, which it never did before. I don't use the acc module and fail to see why uac_redirect would need it.
```
2022-07-15T14:41:43.813169+02:00 pc1 proxy1[381424]: ERROR: uac_redirect [../../modules/acc/acc_api.h:191]: acc_load_api(): cannot find bind_acc
2022-07-15T14:41:43.813232+02:00 pc1 proxy1[381424]: ERROR: uac_redirect [uac_redirect.c:254]: redirect_init(): cannot bind to ACC API
2022-07-15T14:41:43.813283+02:00 pc1 proxy1[381424]: ERROR: <core> [core/sr_module.c:971]: init_mod(): Error while initializing module uac_redirect (/usr/lib/x86_64-linux-gnu/kamailio/modules/uac_redirect.so)
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3188
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3188(a)github.com>
Covers setups when kamailio behind the service with HAPROXY protocol support but in other hand it also serves requests from other services that available per direct connection (such as B2BUA in the same local network).
#### Pre-Submission Checklist
- [*] Commit message has the format required by CONTRIBUTING guide
- [*] Commits are split per component (core, individual modules, libs, utils, ...)
- [*] Each component has a single commit (if not, squash them into one commit)
- [*] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [*] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
- [*] PR should be backported to stable branches
- [*] Tested changes locally
#### Description
- function tcpconn_read_haproxy() returns 2 if PROXY header NOT found.
- Message about no header shown at the debug level.
- No errors
- TCP connection successfully establishes
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2206
-- Commit Summary --
* handle tcp request with tcp_accept_haproxy even no PROXY header found
* core:tcp allow to handle TCP connections even message does not contain PROXY protocol header
* core:tcp allow to handle TCP connections even message does not contain PROXY protocol header
-- File Changes --
M src/core/tcp_main.c (8)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2206.patchhttps://github.com/kamailio/kamailio/pull/2206.diff
--
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/pull/2206
Enable registration of pcscf contact callback during download from db location table and inserting pcontact (normally this callback is registered during handling of REGISTER). Refuse REGISTER when pcontact is expired since [0 to 20] seconds. Within this time window a NOTIFY is expected from scscf and in order to avoid race time conditions between scscf and pcscf REGISTER will be refused. Refuse REGISTER when pcontact is expired longer than 20 seconds - send PUBLISH (contact expired) to scscf to trigger NOTIFY. In both REGISTER refused scenarios routing script should reply 500 - Deregister in progress.
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [ x] Commit message has the format required by CONTRIBUTING guide
- [ x] Commits are split per component (core, individual modules, libs, utils, ...)
- [ x] Each component has a single commit (if not, squash them into one commit)
- [ x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [ x] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [ x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
In case a pcontact found in location db has to be inserted into pcscf cache depending on contact state also callbacks have to be registered for this pcontact. Registering of callback_pcscf_contact_cb is enabled in this module.
Handling of contact expiry is usually triggered in the scscf (mem_timer_udomain which runs every 10 secs). Sending of NOTIFY to pcscf may take up to 20 seconds from start of expiry due to timing conditions.
To avoid race time conditions between a REREGISTER and the expiry handler state machine in the scscf an approach is chosen to refuse a REREGISTER in time window of 20 seconds after pcontact expiry on the pcscf (thus allowing expiry handling to finish). REREGISTER is refused in this scenario with new return_code -2.
In case a REREGISTER arrives at pcscf and the respective pcontact is expired longer than time window of 20 seconds registration also is refused with rc -2 and additionaly PUBLISH is sent to scscf with expiry = 0.
The rc -2 shall be handled in register.cfg script as follows:
pcscf_save_pending("location");
switch ($retcode) {
case -1:
# Missing/wrong Information in REGISTER.
send_reply("400", "Information wrong - See log.");
exit;
break;
case -2:
# De-Register in Progress, or PUBLISH ongoing due to registration expiry,
# or new REGISTER blocked because registration just expired (up to 20sec).
append_to_reply("Retry-After: 30\r\n");
send_reply("500", "Deregister in progress - Please try again");
exit;
break;
}
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3317
-- Commit Summary --
* ims_registrar_pcscf: changes for ul db_mode DB_ONLY
-- File Changes --
M src/modules/ims_registrar_pcscf/ims_registrar_pcscf_mod.c (21)
M src/modules/ims_registrar_pcscf/notify.c (4)
M src/modules/ims_registrar_pcscf/save.c (37)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3317.patchhttps://github.com/kamailio/kamailio/pull/3317.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3317
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3317(a)github.com>
Hi,
Quick question:
Looking at the Dialog module and CSeq tracking functionality, I've noticed
the following:
- on the one hand, we are storing the current CSeq for each direction in
the Dialog structure
- on the other hand, we are storing a "Delta" of the received vs. updated
CSeq as a Dialog Variable
Does replacing the Delta with the CSeq already stored with the Dialog
structure make sense?
I am asking because of my latest changes, where there may be more sources
for an updated CSeq (e.g., when sending a Request from script within the
Dialog) and more use cases for an updated CSeq (Up and Downstream).
I've updated the dialog module for my use already accordingly
https://github.com/kamailio/kamailio/compare/master...carstenbock/dialog_cs…
I wanted to hear other opinions and possible pitfalls as well...
Thanks,
Carsten
--
Carsten Bock I CTO & Founder
ng-voice GmbH
Trostbrücke 1 I 20457 Hamburg I Germany
T +49 179 2021244 I www.ng-voice.com
Registry Office at Local Court Hamburg, HRB 120189
Managing Directors: Dr. David Bachmann, Carsten Bock
### Description
I am in need to get some statistic counters related to each lcr gw currently loaded in Kamailio.
Kamailio already provides the counters I need inside the KEX module with the following command:
```
kamcmd> stats.get_statistics core:
core:bad_URIs_rcvd = 69
core:bad_msg_hdr = 2
core:drop_replies = 0
core:drop_requests = 8499
core:err_replies = 0
core:err_requests = 0
core:fwd_replies = 4
core:fwd_requests = 65
core:rcv_replies = 502088
...
```
Here kamailio doing exactly what i want, it's exposing the counter data via xmlrpc which is great for attaching an external tool to build statistics.
Unfortunately Kamailio KEX module is counting every single request/reply hitting the proxy server, the idea is to have the above stats related to the gateways currently loaded by the lcr module.
In this way, for example I can tell how many request/replies I got from gw id X or gw id Y and produce gw based stats.
Unfortunately the KEX module has no "concept" of "GW" and "LCR", so the idea is to implement the same counting logic inside LCR module.
The counting should not be persistent (counters must go to zero every time kamailio restarts).
When adding or deleting a new gateway, the counting in memory must reflect the status of the internal state or lcr gatewas, so, for example, after adding a new gateway and reloading lcr tables, the new counters must be immediately available through xmlrpc without a new kamailio restart. The same concept applies when the gateway is removed from the list.
### Expected behavior
A possible implementation should give the user to query counters in a way similar to this:
```
# kamcmd lcr.stats
{
gw: {
{
gw_id: <id of lcr mysql table here>
gw_name: <description of lcr mysql table here>
requests: 0
requests_invite: 0
requests_cancel: 0
...
}
{
gw_id: <id of lcr mysql table here>
gw_name: <description of lcr mysql table here>
requests: 0
requests_invite: 0
requests_cancel: 0
...
}
}
}
```
Additionally, it would be helpful to set a gw id as argument in order to filter, for example:
```
# kamcmd lcr.stats 95
{
gw: {
{
gw_id: 95
gw_name: <description of gw id 95>
requests: 222
requests_invite: 1
requests_cancel: 1
requests_ack: 1
...
}
}
}
```
#### Actual observed behavior
To my knowledge, nothing related to this issue has been implemented in Kamailio so far
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3372
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3372(a)github.com>
Hello,
I am considering to release Kamailio v5.5.6 soon, branch on branch 5.5,
likely on Thursday or Wednesday next week (Mar 2/3, 2023). This is the
usual heads up notification to see if anyone is aware of issues not yet
reported to bug tracker and if yes, do it as soon as possible to give
them a chance to be fixed.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - June 5-7, 2023 - www.kamailioworld.com
Kamailio Advanced Training - Online - March 27-30, 2023 - www.asipto.com
Small typo here
`codec-accept=opus`
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/commit/e8c294f33f8b867b0f67d78c14b7327…
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/commit/e8c294f33f8b867b0f67d78c14b7327dc22dd726/102410069(a)github.com>
### Description
Using kamcmd to obtain statistics of SIP replies, for large values (exceeding 4 bytes) :
Example :
```
kamcmd> sl.stats
{
(...)
302: -1294967293
}
```
The variable is an unsigned long, it can store values up to 2^64-1.
But RPC command **sl.stats** does not support this.
### Possible Solutions
I think the fix is simple, we should just replace "d" by "j" when using "rpc->struct_add"
(function "rpc_stats" in file src/modules/sl/sl_stats.c).
E.g. :
```
rpc->struct_add(st, "jjjj",
"300", total.err[RT_300],
"301", total.err[RT_301],
"302", total.err[RT_302],
"3xx", total.err[RT_3xx]);
```
I found a commit that did something similar with the shared memory stats :
https://github.com/kamailio/kamailio/commit/f619cae55ffeb4596da852d9ed75773…
### Additional Information
Kamailio 5.6.4
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3386
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3386(a)github.com>