71 Commits

Author SHA1 Message Date
Sam Machin
03dc4964b6 Fix/111 - require multiple reg failures (#131)
* only disable registraion after X consecutive failures

* move counter outside of regbot object

prevents it being constantly re-created
2026-03-19 15:15:38 -04:00
Sam Machin
f909c6e077 Regbot persistent call-id and other fixes (#130)
* use gw sid as call id and fix bug on updateing regbots

we must not mutate gw directly, as it is cached in the gateways array
 and adding properties would cause the JSON.stringify comparison to detect a
 false change on every checkStatus cycle, triggering unnecessary re-registrations.

* fix tests

add influx and also the registered now changes to remove previous reg on update

* better test scenario

still checks that we have 1 registered as expires now at 600s so it doesn't expire before the 65sec delay
2026-02-19 08:14:04 -05:00
rhondahollis
a21269cb19 remove send_options_bots array (#129)
fixes ticket #1983

Co-authored-by: rhonda hollis <rhonda@jambonz.org>
2026-02-12 12:15:47 -05:00
Dave Horton
6f9c629379 add configurable backup for outbound reg failure (#128) 2026-02-09 10:32:57 -05:00
Dave Horton
e6a691d366 fix support for using writer/reader nodes properly (#126) 2026-01-15 08:48:06 -05:00
Ed Robbins
40cd14bff0 If no SRV record found when no port specifiec, look for A record. (#125)
* If no SRV record found when no port specifiec, look for A record.

* update log statement to info level
2025-12-11 23:55:39 -05:00
Sam Machin
93095fcdab add ephemeral gateways for ip regtrunk (#124)
* add ephemeral gateways for ip regtrunk

* linting
2025-12-10 10:43:44 -05:00
Hoan Luu Huu
9c6134d5dc fixed Array.prototype.push.apply will throw Maximum call stack size exceeded (#119)
* fixed Array.prototype.push.apply will throw Maximum call stack size exceeded

* fixed review comment
2025-11-11 07:44:18 -05:00
Sam Machin
56df3a6b34 Fix/regtrunks (#118)
* restore only use port if proxy is IPv4 address

broke in this commit 543f52d3dd

* use sip gateway host for DNS lookup of ephemeral gw and only if not  an IP address
2025-11-06 18:19:24 -05:00
Hoan Luu Huu
55ace7820f Feat/cli remove fs (#116)
* support draining feature server manually

* support draining feature server manually

* support CLI to add or remove feature server

* wip

* wip

* wip

* add redis key for feature server and integration test

* wip
2025-10-28 19:26:24 -04:00
Hoan Luu Huu
658cb6ae7d remove empheral gateways if regbot is stopped (#115)
* remove empheral gateways if regbot is stopped

* wip

* wip

* update realtime db version
2025-10-28 08:02:43 -04:00
Dave Horton
e94ae431d8 add support for registration trunks which result in a set of ephemera… (#112)
* add support for registration trunks which result in a set of ephemeral sip gateways to be stored in redis

* wip

* refactor createEphemeralGateways into realtime dbhelpers

* minor

* update eslint
2025-10-21 07:32:06 -04:00
Sam Machin
52e1fc78b9 Store the private IP in redis when a client registers (#113)
* add srf.locals.privateSipAddress

* add private SBC address in client redis data

* lint
2025-10-04 20:08:42 -04:00
Sam Machin
3f8fb53390 add expires and timestamp to database status (#110)
* add expires and timestamp to database status

* remove await
2025-09-01 14:02:51 -04:00
Hoan Luu Huu
3cfa0a94aa support trunk register with account sip realm if available (#107)
* support trunk register with account sip realm if available

* wip

* wip

* wip

* wip
2025-06-23 08:34:39 -04:00
Sam Machin
1ef25e2c7f add user-agent to regbot (#106)
* add user-agent to regbot

* lint

* remove regbot from string
2025-06-11 17:08:58 +02:00
Hoan Luu Huu
ae5b05e9e9 allow registration if checkAccountLimits cannot reach DB (#104) 2025-05-22 08:14:39 -04:00
Sam Machin
543f52d3dd use outbound proxy for registrations where set (#103)
* use outbound proxy for registrations where set

* remove requirement that port can only be set on IP address not host

* switch logging back to debug and remove unused function

* Update regbot.js
2025-05-12 07:58:55 -04:00
Dave Horton
e87aebf88c fix bug calling getUniqueGateways (#96)
* fix bug calling getUniqueGateways

* fix bug filtering gateways for regbot

* minor logging
2025-04-12 09:57:50 -04:00
Hoan Luu Huu
fa6b300205 create regbog in batch with delay, filter inique gateway before creating regbot (#95)
* create regbog in batch with delay, filter inique gateway before creating regbot

* update review comment

* do not register outbound if no sip password was provided

---------

Co-authored-by: Dave Horton <daveh@beachdognet.com>
2025-04-11 13:21:57 -04:00
Sam Machin
446bb06142 move lookupSystemInformation up to parent function and add a timer (#93)
* move lookupSystemInformation up to parent function and add a timer

* lint
2025-04-03 14:56:28 -04:00
Sam Machin
a22ab38aab Disable Options and Registration on certain failures (#90)
* disable options ping on defined errors

* correct sid

* disable reg on error

* fix path

* fixes from testing

* fixes from testing

* lint

* update dbhelpers dep

* remove whitespace in CONFIG strings

* lint

* this seems like a better way of convering and matching status codes
2025-04-02 08:22:52 -04:00
rammohan-y
2cabf29e6f Write options ping failure alert once (#88)
* updated realtimedb-helper to 0.8.13

* Do not write an alert for every failure if OPTIONS ping failure alrert is already written
https://github.com/jambonz/sbc-sip-sidecar/issues/87
2025-03-27 07:15:47 -04:00
Hoan Luu Huu
e865286a2b initial delay regbot (#80)
* initial delay regbot

* fix review comment

* fix review comment
2025-03-10 08:26:43 -04:00
Hoan Luu Huu
6b8b7661da fix register with invalid from and to header (#84) 2025-02-18 07:07:37 -05:00
Hoan Luu Huu
e687d772d8 fix regbot issue with invalid sip_realm (#79)
* fix regbot issue with invalid sip_realm

* wip

* wip

* wip
2025-02-04 23:57:33 -05:00
Markus Frindt
8d2bba127b Change timer for next REGISTER expires / 2 to avoid delayed registrations (#74)
Co-authored-by: Markus Frindt <m.frindt@cognigy.com>
2024-09-17 10:04:43 -04:00
Markus Frindt
b190d8a312 improvement of ipv4 regex and test cases (#73)
* improvement of ipv4 regex and test cases

* require utils test

* change example

---------

Co-authored-by: Markus Frindt <m.frindt@cognigy.com>
2024-08-21 11:47:06 -04:00
Dave Horton
496d6c7a71 per RFC 3261 the request-uri of REGISTER must not have userinfo (#72) 2024-08-21 09:32:24 -04:00
Dave Horton
bad9078446 fix transport param in Contact uri 2024-06-26 13:16:28 -04:00
Dave Horton
3c498b2624 use system_information.sip_domain_name in the Contact header, if available (#71) 2024-06-26 13:15:23 -04:00
Dave Horton
0ff39724e4 when registering over tls contact header should have appropriate sip … (#62)
* rebase

* update gh workflow
2024-06-19 12:24:08 +01:00
Hoan Luu Huu
6f7f553408 support use sips schema when it's enabled from gateway configuration (#67)
* support use sips schema when it's enabled from gateway configuration

* wip

* add LICENSE file
2024-06-15 09:11:06 -04:00
André Heber
49e1ae2843 prevent crash when no Contact header in 200 OK response to REGISTER (#60)
* prevent crash when no Contact header in 200 OK response to REGISTER request

* fixed jslint

---------

Co-authored-by: Andre Heber <a.heber@cognigy.com>
2024-05-29 15:38:12 -04:00
Dave Horton
0c1caa04c7 minor 2024-04-19 18:16:02 -04:00
Hoan Luu Huu
d04337504a send options ping (#48)
* send options ping

* wip

* wip

* wip

* wip

* update blacklist sip gateway to redis

* wip
2024-03-30 09:18:31 -04:00
Hoan Luu Huu
4079f7b83b reject registration if the account is deactivated (#53)
* reject registration if the account is deactivated

* reject registration if the account is deactivated
2024-01-17 08:55:59 -05:00
Dave Horton
de3100a4b4 fix linting error 2024-01-15 13:25:24 -05:00
javibookline
c1f2a5fa45 Feature/registration interval config (#50)
* Add envvar support for default expiration interval

* Move envvars to config file, finish work, and add description of envvars to Readme

* Set expires value to MIN_EXPIRES when the retrieved value is lower than it or not parseable
2024-01-15 13:15:14 -05:00
p.souza
dcebadd63a centralize envs 2023-12-26 11:12:15 +01:00
Quan HL
abe52e4782 allow registration hook return client direct calling settings 2023-12-11 07:22:49 +07:00
Quan HL
46520db3e2 wip 2023-11-24 13:38:53 +07:00
Quan HL
d61934d996 fix register to support dns domain and transport 2023-11-24 13:13:22 +07:00
Quan HL
6829a63dfa fix regbot to send REGISTER headers with from user value 2023-06-30 11:38:32 +07:00
Quan HL
a5f8113e6f fix: failing testcase 2023-06-23 17:48:36 +07:00
Quan HL
07bcea7116 fix: failing testcase 2023-06-23 17:45:10 +07:00
Quan HL
6eebe379a6 feat:update fs server url to redis 2023-06-23 17:35:43 +07:00
Quan HL
ffcbab2448 use digest-utils 2023-06-15 18:19:26 +07:00
Quan HL
ddb7e869eb fix registration hook 2023-06-15 06:21:53 +07:00
Quan HL
54ccaa52bb fix registration hook 2023-06-15 06:21:37 +07:00