OpenSIPS / opensips

OpenSIPS is a GPL implementation of a multi-functionality SIP Server that targets to deliver a high-level technical solution (performance, security and quality) to be used in professional SIP server platforms.
https://opensips.org
Other
1.26k stars 576 forks source link

[FEATURE] IPset module. #2980

Open volga629-1 opened 1 year ago

volga629-1 commented 1 year ago

New module intention to smooth integration with existing traffic filtering tools for hardening of security model in opensips deployments .

Use case: Traffic blocking/filtering. QOS management. Policy based routing. Routing tagging.

Initial stage can be implemented two ipset types hash:ip bitmap:ip

Documentation https://www.linux.org/docs/man8/ipset.html

Parameters 
### IPset
loadmodule "ipset.so"
modparam("ipset", "hash_size", "$avp(80)")
modparam("ipset", "timeout_avp", "$avp(90)")
modparam("ipset", "output_avp", "$avp(100)")

### Functions
ipset_create("$avp(ipset_name)","$avp(ipset_type)",$avp(90),$avp(80))
ipset_destroy("$avp(ipset_name)")
ipset_flush("$avp(ipset_name)")
ipset_list("$avp(ipset_name)","$avp(100)","$avp(output)")

# 1 - Entry added; 0 - Didn't added; -1 - Error
ipset_add("$avp(ipset_name)","$avp(ipset_type)",$avp(90),$si))
# 1 - Entry removed ; -1 - Error
ipset_remove("$avp(ipset_name)",$si)
# Return 0 - Not found ; 1 - Found
ipset_test("$avp(ipset_name)",$si)

### Script avp
$avp(80) = 1024;
$avp(90) = 3600;
$avp(100) = Possible values xml or json;
github-actions[bot] commented 1 year ago

Any updates here? No progress has been made in the last 15 days, marking as stale. Will close this issue if no further updates are made in the next 30 days.

volga629-1 commented 1 year ago

in progress

bogdan-iancu commented 1 year ago

@volga629-1 , are you working on developing such module or you only draft the requirements, expecting someone else to code it ?

volga629-1 commented 1 year ago

Yes that draft , but we looking to help with development.