Skip to content

Commit

Permalink
Use latest srsRAN QoS configuration file
Browse files Browse the repository at this point in the history
  • Loading branch information
herlesupreeth committed Dec 29, 2024
1 parent f7ff50a commit b59cc9b
Show file tree
Hide file tree
Showing 8 changed files with 76 additions and 128 deletions.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -439,5 +439,26 @@ Take note of **auc_id** specified in **Response body** under **Server response**

**Replace scscf_peer, scscf and scscf_realm as per your deployment**

### Provisioning of Dialplan when using openSIPS IMS as follows:

To ensure that the S-CSCF correctly recognizes the dialed numbers, it is necessary to configure the dial plan appropriately. This involves provisioning the dialplan table in MySQL by following these steps:

1. Login into mysql openSIPS SCSCF database and insert dialplan rule

```
docker exec -it mysql mysql opensips_scscf
# Insert the dialplan rule - make sure you adapt the rule according to the MSISDN values configured in previous step
insert into dialplan (dpid, match_op, match_exp, repl_exp) values (1, 0, "9076543210", "USER");
exit
```

More information regarding configuration of dialplan can be found in this link - https://github.com/OpenSIPS/opensips-ims-ce/blob/main/docs/scscf.md#configuration

2. Once everything is set up, we need to reload OpenSIPS's dialplan cache

```
docker exec -it scscf opensips-cli -x mi dp_reload
```

## Not supported
- IPv6 usage in Docker
2 changes: 1 addition & 1 deletion opensips_ims_pcscf/opensips.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ modparam("aaa_diameter", "aaa_url",

modparam("proto_ipsec", "min_spi", 10000)
modparam("proto_ipsec", "max_spi", 10100)
#modparam("proto_ipsec", "allowed_algorithms", "hmac-sha-1-96=null")
modparam("proto_ipsec", "allowed_algorithms", "hmac-sha-1-96=null")

#### RTPENGINE module
loadmodule "rtpengine.so"
Expand Down
1 change: 1 addition & 0 deletions opensips_ims_pcscf/pcscf_init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ sed -i 's|PCRF_IP|'$PCRF_IP'|g' /etc/opensips/freeDiameter.conf
sed -i 's|PCSCF_IP|'$PCSCF_IP'|g' /etc/opensips/freeDiameter.conf

# Add static route to route traffic back to UE as there is not NATing
apt-get update && apt-get install -y iproute2
ip r add ${UE_IPV4_IMS} via ${UPF_IP}

# Sync docker time
Expand Down
53 changes: 0 additions & 53 deletions opensips_ims_scscf/entrypoint.sh

This file was deleted.

2 changes: 1 addition & 1 deletion opensips_ims_scscf/opensips.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ modparam("aka_av_diameter", "aaa_url",

#### dialplan module
loadmodule "dialplan.so"
modparam("dialplan","db_url", "mysql://scscf:heslo@MYSQL_IP/opensips_scscf")
modparam("dialplan","db_url", "mysql://opensips_scscf:heslo@MYSQL_IP/opensips_scscf")


#### auth module
Expand Down
2 changes: 2 additions & 0 deletions opensips_ims_scscf/scscf_init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ sleep 10;
if [[ -z "`mysql -u root -h ${MYSQL_IP} -qfsBe "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='opensips_scscf'" 2>&1`" ]];
then
mysql -u root -h ${MYSQL_IP} -e "create database opensips_scscf;"
mysql -u root -h ${MYSQL_IP} opensips_scscf < /usr/share/opensips/mysql/standard-create.sql
mysql -u root -h ${MYSQL_IP} opensips_scscf < /usr/share/opensips/mysql/dialplan-create.sql
SCSCF_USER_EXISTS=`mysql -u root -h ${MYSQL_IP} -s -N -e "SELECT EXISTS(SELECT 1 FROM mysql.user WHERE User = 'opensips_scscf' AND Host = '%')"`
if [[ "$SCSCF_USER_EXISTS" == 0 ]]
then
Expand Down
121 changes: 49 additions & 72 deletions srsran/qos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,7 @@
qos:
-
five_qi: 1 # E.g. Conversational Voice
rlc:
mode: um-bidir
um-bidir:
tx:
sn: 12
queue-size: 4096
rx:
sn: 12
t-reassembly: 50
pdcp:
integrity_required: false
tx:
sn: 12
discard_timer: -1
Expand All @@ -26,28 +16,23 @@ qos:
sn: 12
t_reordering: 80
out_of_order_delivery: false
f1u_du:
backoff_timer: 10
f1u_cu_up:
backoff_timer: 10
mac:
lc_priority: 4
lc_group_id: 1
bucket_size_duration_ms: 5
prioritized_bit_rate_kBps: 65537
-
five_qi: 2 # E.g. Conversational Video
f1u_du:
backoff_timer: 10
rlc:
mode: um-bidir
um-bidir:
tx:
sn: 12
queue-size: 4096
queue-size: 16384
queue-bytes: 6172672
rx:
sn: 12
t-reassembly: 50
-
five_qi: 2 # E.g. Conversational Video
pdcp:
integrity_required: false
tx:
sn: 12
discard_timer: -1
Expand All @@ -56,15 +41,20 @@ qos:
sn: 12
t_reordering: 80
out_of_order_delivery: false
f1u_du:
backoff_timer: 10
f1u_cu_up:
backoff_timer: 10
mac:
lc_priority: 4
lc_group_id: 1
bucket_size_duration_ms: 5
prioritized_bit_rate_kBps: 65537
f1u_du:
backoff_timer: 10
rlc:
mode: um-bidir
um-bidir:
tx:
sn: 12
queue-size: 16384
queue-bytes: 6172672
rx:
sn: 12
t-reassembly: 50
-
five_qi: 5 # E.g. IMS signaling
rlc:
Expand All @@ -76,7 +66,8 @@ qos:
max-retx-threshold: 4
poll-pdu: 64
poll-byte: 125
queue-size: 4096
queue-size: 16384
queue-bytes: 6172672
rx:
sn: 12
t-reassembly: 80
Expand All @@ -95,22 +86,8 @@ qos:
backoff_timer: 10
f1u_cu_up:
backoff_timer: 10
mac:
lc_priority: 5
lc_group_id: 2
bucket_size_duration_ms: 5
prioritized_bit_rate_kBps: 65537
-
five_qi: 7 # E.g. Voice, Video (live streaming)
rlc:
mode: um-bidir
um-bidir:
tx:
sn: 12
queue-size: 4096
rx:
sn: 12
t-reassembly: 50
pdcp:
integrity_required: false
tx:
Expand All @@ -121,47 +98,47 @@ qos:
sn: 12
t_reordering: 80
out_of_order_delivery: false
f1u_du:
backoff_timer: 10
f1u_cu_up:
backoff_timer: 10
mac:
lc_priority: 4
lc_group_id: 1
bucket_size_duration_ms: 5
prioritized_bit_rate_kBps: 65537
-
five_qi: 9 # E.g. Buffered video streaming, TCP-based traffic
f1u_du:
backoff_timer: 10
rlc:
mode: am
am:
mode: um-bidir
um-bidir:
tx:
sn: 12
t-poll-retransmit: 80
max-retx-threshold: 4
poll-pdu: 64
poll-byte: 125
queue-size: 4096
queue-size: 16384
queue-bytes: 6172672
rx:
sn: 12
t-reassembly: 80
t-status-prohibit: 10
t-reassembly: 100
-
five_qi: 9 # E.g. Buffered video streaming, TCP-based traffic
pdcp:
integrity_required: false
tx:
sn: 12
sn: 18
discard_timer: -1
status_report_required: false
rx:
sn: 12
t_reordering: 80
sn: 18
t_reordering: 220
out_of_order_delivery: false
f1u_du:
backoff_timer: 10
f1u_cu_up:
backoff_timer: 10
mac:
lc_priority: 5
lc_group_id: 2
bucket_size_duration_ms: 5
prioritized_bit_rate_kBps: 65537
f1u_du:
backoff_timer: 10
rlc:
mode: am
am:
tx:
sn: 18
t-poll-retransmit: 20
max-retx-threshold: 32
poll-pdu: 16
poll-byte: -1
queue-size: 16384
queue-bytes: 6172672
rx:
sn: 18
t-reassembly: 20
t-status-prohibit: 10
2 changes: 1 addition & 1 deletion srsran/srsran_init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ sed -i 's|SRS_UE_IP|'$SRS_UE_IP'|g' /etc/srsran/gnb.yml
# For dbus not started issue when host machine is running Ubuntu 22.04
service dbus start && service avahi-daemon start

gnb -c /etc/srsran/gnb.yml -c /etc/srsran/qos.yml
exec gnb -c /etc/srsran/gnb.yml -c /etc/srsran/qos.yml $@

# Sync docker time
#ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

0 comments on commit b59cc9b

Please sign in to comment.