Description
In my use case exists
- pool of front-end proxies (all share some IPv4 address via AWS network load-balancer);
- pool of backend registrars.
I must:
- send keepalive messages to endpoints when used INVITE, REGISTRAR, SUBSCRIBE methods via all possible transports (UDP/TSP/TLS/WS/WSS/SCTP) (like nat_keepalive function of nat_traversal module). Internally store record for this SIP URI with flag
ka_dynamic
and Record-Route
headers from 180, 183, 200
responses as Route
;
- send keepalive messages on predefined SIP URI (like ka_add_destination of keepalive module). Internally store record for this SIP URI with flag
ka_static
and manually defined Route
value;
- when keepalive for cases above is failed, then added record into arrays:
a. ka_invite_failed;
b. ka_registrar_failed;
c. ka_supscribe_failed;
d. ka_invite_succcess;
e. ka_registrar_success;
f. ka_supscribe_success;
- need to trigger
even route
function with initialized xavp
params of
a. of SIP URI endpoints;
b. relevant array ID;
c. dynamic or static flag of SIP URI record;
d. Record-Route
of SIP URI record;
5.If we have arrays for multiple arrays, then the event router
function called multiple times.
- the time period for
event route
calls must be configurable via module settings;
- when executed
event route
I want to have abbility
a. send a new registration message to the registrar node using saved Route
header when OPTION is successful for the statically defined SIP URI;
a. send registration expiration message to the registrar node from received 200
response;
b. send the clear subscription message to the node from received 200
response;
Actual observed behavior
In current implementation OPTIONS
keepalive messages send from different modules
- usrloc;
- keepalive;
- nat_traversal;
- nathelper
All the above have limitations like:
- no TCP/TLS/WS/WSS transport support (nat_traversal, nathelper);
- no ability to define call
event-route
on failed (success) OPTIONS message (think all modules do not have such feature);
- no ability to check response code before enabling keepalive (nat_traversal);
- no ability to notify backend REGISTRAR/SUBSCRIPTION server (think all modules do not have such feature) about failed keepalive messages;
What is expected
From my of view required:
- some refactor of keepalive feature;
- merge code from different modules into one and make other modules dependent;
- implement the ability to notify backend REGISTRAR/SUBSCRIPTION servers of failed keepalive messages;
- implement the ability to emulate registration when OPTION message success to SIP URI. Required on SBC to emulate customer PBX registration.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.