Code Monkey home page Code Monkey logo

pyhss's People

Contributors

aitorpazos avatar alishir avatar cchiaramelli avatar davidkneipp avatar jiacnn avatar jmasterfunk84 avatar navfar avatar nickvsnetworking avatar zarya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyhss's Issues

Answer_16777238_272() is storing the wrong Diameter remote_peer which breaks async messages when a DRA is used

We get the remote peer based on this:

            try:        #Check if we have a record-route set as that's where we'll need to send the response
                remote_peer = self.get_avp_data(avps, 282)[-1]                          #Get first record-route header
                remote_peer = binascii.unhexlify(remote_peer).decode('utf-8')           #Format it
            except:     #If we don't have a record-route set, we'll send the response to the OriginHost
                remote_peer = OriginHost
            self.logTool.log(service='HSS', level='debug', message="[diameter.py] [Answer_16777238_272] [CCA] Remote Peer is " + str(remote_peer), redisClient=self.redisMessaging)
            remote_peer = remote_peer + ";" + str(self.config['hss']['OriginHost'])

If the peer is coming from a DRA, this will just get the Origin-Host, not the DRA connection,

We'll need to pass the source IP & port through, and then run that through Redis' ActiveDiameterPeers to find the peer.

What license is this code under?

Hi nick,
thanks for your great hss implementation. It finally made my life way much easier by running a small python application instead of a huge java based HSS...

I'm wondering which license is this code released under. Having it on GitHub probably implies some sort of open source license but there is nothing explicitly written..
Could you clarify this?

Cheers
Bjoern

serving_apn only stores one APN per UE

Only one APN is stored in serving_apn if there are multiple bearers.

Correct behaviour should be each APN present on the UE should be stored into serving_apn table.

Docker/Docker Compose: can't open file 'hss.py'

In order to get to the error can't open file 'hss.py', I needed to solve a catch-22 situation where I needed a static ip address before the docker build so I made a custom docker network for pyhss so I can preset the docker internal ip address for pyhss:

docker network create --subnet 172.31.0.1/16 --internal hss

and when I run docker network inspect $(docker network ls | awk '$3 == "bridge" { print $1}') | jq -r '.[] | .Name + " " + .IPAM.Config[0].Subnet' - I can see the new network:

...
hss 172.31.0.1/16
...

my docker-compose.yaml:

version: '3'
networks:
  hss:
    ipam:
      config:
        - subnet: "17.31.0.0/16"
services:
  pyhss:
    build: .
    image: pyhss
    container_name: pyhss
    env_file:
      - .env
    environment:
      - COMPONENT_NAME=hss-1
    volumes:
      - ./pyhss:/mnt/hss
    expose:
      - "3868/tcp"
      - "3868/sctp"
    ports:
      - "3868:3868/tcp"
      - "3868:3868/sctp"
    networks:
      hss:
        ipv4_address: "17.31.0.2"

After doing this, I managed to get the Dockerfile building, however I see another error:

pyhss  | /usr/bin/python3: can't open file 'hss.py': [Errno 2] No such file or directory
pyhss exited with code 2

This appears to be a bug. Where is hss.py?

Using OP instead of OPC

Hi
Thanks for your great repo!
I was wondering if it is possible to use OP instead of OP for AUC authentication?

Thanks
Best regards

backup from the subscribers added to pyhss

Hi,
Is there a way to backup informations that added to pyhss?
Each time i install pyhss and needs to add a subscriber, i need to do all the steps manually using the web interface! is there any way to backup and then upload the file to automatically add those users?

or any automated way instead of some hard manually adding subs to the program?

Thanks
Best regards

SCTP does not work

Changing transport to "SCTP", just does nothing. I just try with a single IP (SCTP non-multihoming). It seems there are not many things for this SCTP case in the documentation. Can you please help?

root@backup-server:~/pyhss-master/services# python3 diameterService.py

root@backup-server:~/pyhss-master/services#

Add Supported Features AVP for AA-Answer

In Answer_16777236_265 add:

            #Add Supported Features AVP
            avp += self.generate_vendor_avp(628, 80, 10415, "0000010a4000000c000028af0000027580000010000028af000000010000027680000010000028af00000001")

service `hssService.py` not starting

I have been trying to start hssService.py but its giving me the following error

[10/20/2023 06:52:29] [INFO]

 ######            ##   ##   #####    #####
 ##   ##           ##   ##  ##   ##  ##   ##
 ##   ##  ##  ##   ##   ##  ##       ##
 ######   ##  ##   #######   #####    #####
 ##       ##  ##   ##   ##       ##       ##
 ##       ##  ##   ##   ##  ##   ##  ##   ##
 ##        #####   ##   ##   #####    #####
              ##
           ####

                 HSS Service


[10/20/2023 06:52:29] [INFO] Reading IMEI TAC database CSV from /etc/pyhss/tac_database_Nov2022.csv
[10/20/2023 06:52:29] [ERROR] Failed to read CSV file of IMEI TAC database
2023-10-20 06:52:29,657 INFO sqlalchemy.engine.Engine SELECT DATABASE()
2023-10-20 06:52:29,658 INFO sqlalchemy.engine.Engine [raw sql] ()
2023-10-20 06:52:29,660 INFO sqlalchemy.engine.Engine SELECT @@sql_mode
2023-10-20 06:52:29,660 INFO sqlalchemy.engine.Engine [raw sql] ()
2023-10-20 06:52:29,664 INFO sqlalchemy.engine.Engine SELECT @@lower_case_table_names
2023-10-20 06:52:29,665 INFO sqlalchemy.engine.Engine [raw sql] ()
2023-10-20 06:52:29,667 INFO sqlalchemy.engine.Engine BEGIN (implicit)
2023-10-20 06:52:29,667 INFO sqlalchemy.engine.Engine SHOW FULL TABLES FROM `hss2`
2023-10-20 06:52:29,667 INFO sqlalchemy.engine.Engine [raw sql] ()
2023-10-20 06:52:29,672 INFO sqlalchemy.engine.Engine ROLLBACK
2023-10-20 06:52:29,673 INFO sqlalchemy.engine.Engine BEGIN (implicit)
2023-10-20 06:52:29,677 INFO sqlalchemy.engine.Engine
CREATE TABLE operation_log (
        id INTEGER NOT NULL AUTO_INCREMENT,
        item_id INTEGER NOT NULL,
        operation_id VARCHAR(36) NOT NULL,
        operation VARCHAR(10),
        changes TEXT,
        last_modified VARCHAR(100),
        timestamp DATETIME,
        table_name VARCHAR(255),
        apn_id INTEGER,
        subscriber_routing_id INTEGER,
        serving_apn_id INTEGER,
        auc_id INTEGER,
        subscriber_id INTEGER,
        ims_subscriber_id INTEGER,
        charging_rule_id INTEGER,
        tft_id INTEGER,
        eir_id INTEGER,
        imsi_imei_history_id INTEGER,
        subscriber_attributes_id INTEGER,
        PRIMARY KEY (id),
        FOREIGN KEY(apn_id) REFERENCES apn (apn_id),
        FOREIGN KEY(subscriber_routing_id) REFERENCES subscriber_routing (subscriber_routing_id),
        FOREIGN KEY(serving_apn_id) REFERENCES serving_apn (serving_apn_id),
        FOREIGN KEY(auc_id) REFERENCES auc (auc_id),
        FOREIGN KEY(subscriber_id) REFERENCES subscriber (subscriber_id),
        FOREIGN KEY(ims_subscriber_id) REFERENCES ims_subscriber (ims_subscriber_id),
        FOREIGN KEY(charging_rule_id) REFERENCES charging_rule (charging_rule_id),
        FOREIGN KEY(tft_id) REFERENCES tft (tft_id),
        FOREIGN KEY(eir_id) REFERENCES eir (eir_id),
        FOREIGN KEY(imsi_imei_history_id) REFERENCES eir_history (imsi_imei_history_id),
        FOREIGN KEY(subscriber_attributes_id) REFERENCES subscriber_attributes (subscriber_attributes_id)
)


2023-10-20 06:52:29,678 INFO sqlalchemy.engine.Engine [no key 0.00172s] ()
2023-10-20 06:52:29,682 INFO sqlalchemy.engine.Engine ROLLBACK
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/default.py", line 748, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.10/dist-packages/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/usr/local/lib/python3.10/dist-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/usr/local/lib/python3.10/dist-packages/MySQLdb/connections.py", line 254, in query
    _mysql.connection.query(self, query)
MySQLdb.OperationalError: (1824, "Failed to open the referenced table 'apn'")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/etc/pyhss/services/hssService.py", line 100, in <module>
    hssService = HssService()
  File "/etc/pyhss/services/hssService.py", line 31, in __init__
    self.diameterLibrary = Diameter(logTool=self.logTool, originHost=self.originHost, originRealm=self.originRealm, productName=self.productName, mcc=self.mcc, mnc=self.mnc)
  File "/etc/pyhss/lib/diameter.py", line 39, in __init__
    self.database = Database(logTool=logTool)
  File "/etc/pyhss/lib/database.py", line 310, in __init__
    Base.metadata.tables[table_name].create(bind=self.engine)
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/schema.py", line 1149, in create
    bind._run_ddl_visitor(ddl.SchemaGenerator, self, checkfirst=checkfirst)
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 3226, in _run_ddl_visitor
    conn._run_ddl_visitor(visitorcallable, element, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 2430, in _run_ddl_visitor
    visitorcallable(self.dialect, self, **kwargs).traverse_single(element)
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/visitors.py", line 670, in traverse_single
    return meth(obj, **kw)
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/ddl.py", line 963, in visit_table
    )._invoke_with(self.connection)
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/ddl.py", line 315, in _invoke_with
    return bind.execute(self)
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 1414, in execute
    return meth(
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/ddl.py", line 181, in _execute_on_connection
    return connection._execute_ddl(
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 1526, in _execute_ddl
    ret = self._execute_context(
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 1842, in _execute_context
    return self._exec_single_context(
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 2326, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/default.py", line 748, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.10/dist-packages/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/usr/local/lib/python3.10/dist-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/usr/local/lib/python3.10/dist-packages/MySQLdb/connections.py", line 254, in query
    _mysql.connection.query(self, query)
sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (1824, "Failed to open the referenced table 'apn'")
[SQL:
CREATE TABLE operation_log (
        id INTEGER NOT NULL AUTO_INCREMENT,
        item_id INTEGER NOT NULL,
        operation_id VARCHAR(36) NOT NULL,
        operation VARCHAR(10),
        changes TEXT,
        last_modified VARCHAR(100),
        timestamp DATETIME,
        table_name VARCHAR(255),
        apn_id INTEGER,
        subscriber_routing_id INTEGER,
        serving_apn_id INTEGER,
        auc_id INTEGER,
        subscriber_id INTEGER,
        ims_subscriber_id INTEGER,
        charging_rule_id INTEGER,
        tft_id INTEGER,
        eir_id INTEGER,
        imsi_imei_history_id INTEGER,
        subscriber_attributes_id INTEGER,
        PRIMARY KEY (id),
        FOREIGN KEY(apn_id) REFERENCES apn (apn_id),
        FOREIGN KEY(subscriber_routing_id) REFERENCES subscriber_routing (subscriber_routing_id),
        FOREIGN KEY(serving_apn_id) REFERENCES serving_apn (serving_apn_id),
        FOREIGN KEY(auc_id) REFERENCES auc (auc_id),
        FOREIGN KEY(subscriber_id) REFERENCES subscriber (subscriber_id),
        FOREIGN KEY(ims_subscriber_id) REFERENCES ims_subscriber (ims_subscriber_id),
        FOREIGN KEY(charging_rule_id) REFERENCES charging_rule (charging_rule_id),
        FOREIGN KEY(tft_id) REFERENCES tft (tft_id),
        FOREIGN KEY(eir_id) REFERENCES eir (eir_id),
        FOREIGN KEY(imsi_imei_history_id) REFERENCES eir_history (imsi_imei_history_id),
        FOREIGN KEY(subscriber_attributes_id) REFERENCES subscriber_attributes (subscriber_attributes_id)
)

]
(Background on this error at: https://sqlalche.me/e/20/e3q8)

where i can find the file /etc/pyhss/tac_database_Nov2022.csv and the database schema to create tables?

connection to IPFS

Dear Nick,

Is there a way to replace the storage on Pyhss with distributed storage, for instance IPFS.

Thank you in advance for your answer.

Cheers.

SQL Connection Timeout

Steps to reproduce:

Edit mysql config to lower timeouts:

interactive_timeout=90
wait_timeout=90

Start HSS or API service, wait 90 seconds, try a query, will get the below:

{
  "result": "Failed",
  "Reason": "(MySQLdb.OperationalError) (4031, 'The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior.')\n[SQL: SELECT apn.apn_id AS apn_apn_id, apn.apn AS apn_apn, apn.ip_version AS apn_ip_version, apn.pgw_address AS apn_pgw_address, apn.sgw_address AS apn_sgw_address, apn.charging_characteristics AS apn_charging_characteristics, apn.apn_ambr_dl AS apn_apn_ambr_dl, apn.apn_ambr_ul AS apn_apn_ambr_ul, apn.qci AS apn_qci, apn.arp_priority AS apn_arp_priority, apn.arp_preemption_capability AS apn_arp_preemption_capability, apn.arp_preemption_vulnerability AS apn_arp_preemption_vulnerability, apn.charging_rule_list AS apn_charging_rule_list \nFROM apn \nWHERE apn.apn_id = %s]\n[parameters: ('1',)]\n(Background on this error at: https://sqlalche.me/e/14/e3q8)"
}

License for PyHSS code?

Hi there, Nick

I've been using PyHSS for testing purposes recently, and it have helped me a lot! Thanks for sharing it publicly on Github.
I noticed the current repository doesn't have any explicit License, so I would like to ask if it is possible to clarify this point. It would be nice to know it for contributing and usage purposes.

Thanks!

pyHSS Authentication Algorithm using MD5 instead of AKAv1-MD5

Hi Nick,

I raised an issue to herlesupreeth for an authentication issue, but it might be related to pyHSS. Can you help me check it? Here the details:

After I successfully attach a srsue_zmq container and establish the connectivity towards kamailio's P-CSCF, registration fails with 403 Authentication Failed. I'm using a SIPp client and REGISTER message successfully reaches S-CSCF, but I can see that pyHSS's MAA specifies to use Algorithm MD5 instead of AKAv1-MD5. I have tried to check how to change the algorithm in pyHSS but haven't found where exactly. I also tried to bypass and force the algorithm on scscf.cfg file but 401 is always generated with Algorithm MD5

Besides the default configs in your repo, here are the subscriber provisioning data on pyHSS:

ims_subscriber
{
"msisdn": "9076543210",
"imsi": "001011234567895",
"sh_profile": "string",
"scscf_timestamp": null,
"scscf_realm": "ims.mnc001.mcc001.3gppnetwork.org",
"last_modified": "2023-11-10T00:55:11Z",
"msisdn_list": "[9076543210]",
"ims_subscriber_id": 1,
"ifc_path": "default_ifc.xml",
"scscf": "sip:scscf.ims.mnc001.mcc001.3gppnetwork.org:6060",
"scscf_peer": "scscf.ims.mnc001.mcc001.3gppnetwork.org"
}

auc
{
"batch_name": null,
"puk2": null,
"misc4": null,
"auc_id": 1,
"sim_vendor": null,
"last_modified": "2023-11-15T23:27:11Z",
"esim": false,
"lpa": null,
"amf": "8000",
"pin1": null,
"sqn": 1072,
"pin2": null,
"misc1": null,
"iccid": null,
"puk1": null,
"misc2": null,
"imsi": "001011234567895",
"misc3": null
}

subscriber
{
"enabled": true,
"subscriber_id": 1,
"default_apn": 2,
"apn_list": "1, 2",
"ue_ambr_dl": 0,
"nam": 0,
"serving_mme": null,
"serving_mme_realm": null,
"last_modified": "2023-11-14T17:44:32Z",
"imsi": "001011234567895",
"auc_id": 1,
"msisdn": "9076543210",
"ue_ambr_ul": 0,
"subscribed_rau_tau_timer": 300,
"serving_mme_timestamp": null,
"serving_mme_peer": null
}

scscf.cfg
#Select Authorization Algorhithm:
#!define REG_AUTH_DEFAULT_ALG "AKAv1-MD5"
##!define REG_AUTH_DEFAULT_ALG "AKAv2-MD5"
##!define REG_AUTH_DEFAULT_ALG "MD5"
##!define REG_AUTH_DEFAULT_ALG "CableLabs-Digest"
##!define REG_AUTH_DEFAULT_ALG "3GPP-Digest"
##!define REG_AUTH_DEFAULT_ALG "TISPAN-HTTP_DIGEST_MD5"
#Let the HSS decide
##!define REG_AUTH_DEFAULT_ALG "HSS-Selected"

capture
20231207c.zip

Here the related case with herlesupreeth:
herlesupreeth/docker_open5gs#263

Thanks in advance!

PyHSS is sending AVP Rating-Group(432) in the Gx credit control answer causing SMF to crash.

SMF CRASH:
01/20 01:58:35.052: [smf] INFO: [Added] Number of SMF-UEs is now 1 (../src/smf/context.c:1019)
01/20 01:58:35.052: [smf] INFO: [Added] Number of SMF-Sessions is now 1 (../src/smf/context.c:3068)
01/20 01:58:35.052: [smf] INFO: UE IMSI[311435000070570] APN[internet] IPv4[10.45.10.68] IPv6[] (../src/smf/s5c-handler.c:275)
01/20 01:58:35.405: [smf] ERROR: Not implemented(432) (../src/smf/gx-path.c:1572)
01/20 01:58:35.407: [gtp] INFO: gtp_connect() [10.90.250.25]:2152 (../lib/gtp/path.c:60)
01/20 01:58:35.407: [smf] FATAL: smf_bearer_tft_update: should not be reached. (../src/smf/context.c:2579)
01/20 01:58:35.408: [core] FATAL: backtrace() returned 12 addresses (../lib/core/ogs-abort.c:37)
/usr/bin/open5gs-smfd(+0x17e80) [0x5609d790ee80]
/usr/bin/open5gs-smfd(+0x45d81) [0x5609d793cd81]
/usr/bin/open5gs-smfd(+0x25614) [0x5609d791c614]
/usr/lib/x86_64-linux-gnu/libogscore.so.2(ogs_fsm_dispatch+0x25) [0x7ff617f49c15]
/usr/lib/x86_64-linux-gnu/libogscore.so.2(ogs_fsm_dispatch+0x25) [0x7ff617f49c15]
/usr/bin/open5gs-smfd(+0x18ffa) [0x5609d790fffa]
/usr/lib/x86_64-linux-gnu/libogscore.so.2(ogs_fsm_dispatch+0x25) [0x7ff617f49c15]
/usr/bin/open5gs-smfd(+0x1088b) [0x5609d790788b]
/usr/lib/x86_64-linux-gnu/libogscore.so.2(+0xa345) [0x7ff617f3b345]
/usr/lib/x86_64-linux-gnu/libc.so.6(+0x94ac3) [0x7ff6170b3ac3]
/usr/lib/x86_64-linux-gnu/libc.so.6(+0x126850) [0x7ff617145850]
Open5GS daemon v2.7.0

Looks like AVP 432 should not be in the Gx credit control answer from my reading.

AVP-432-Gx.pcap.zip

setting the Rating Group to NULL in the DB was a quick fix for this issue.

Fix failed-to-decode sub-avp errors

==> diameter.log <==
2021-03-17 07:20:41,066 : failed to decode sub-avp - error: invalid literal for int() with base 16: ''

Should only parse if length is greater than 0

PyHSS HSS Not Connecting to Redis-Server

Hello, its been a few days and i gave up...
i have tried everything, but i still get the error:
root@alphaepc:~/pyhss/services# journalctl -xu pyhss_hss
bal. 29 08:44:30 alphaepc systemd[1]: Started PyHSS HSS Service.
░░ Subject: A start job for unit pyhss_hss.service has finished successfully
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ A start job for unit pyhss_hss.service has finished successfully.
░░
░░ The job identifier is 783790.
bal. 29 08:44:30 alphaepc python3[69668]: [04/29/2024 08:44:30] [INFO]
bal. 29 08:44:30 alphaepc python3[69668]:
bal. 29 08:44:30 alphaepc python3[69668]: ###### ## ## ##### #####
bal. 29 08:44:30 alphaepc python3[69668]: ## ## ## ## ## ## ## ##
bal. 29 08:44:30 alphaepc python3[69668]: ## ## ## ## ## ## ## ##
bal. 29 08:44:30 alphaepc python3[69668]: ###### ## ## ####### ##### #####
bal. 29 08:44:30 alphaepc python3[69668]: ## ## ## ## ## ## ##
bal. 29 08:44:30 alphaepc python3[69668]: ## ## ## ## ## ## ## ## ##
bal. 29 08:44:30 alphaepc python3[69668]: ## ##### ## ## ##### #####
bal. 29 08:44:30 alphaepc python3[69668]: ##
bal. 29 08:44:30 alphaepc python3[69668]: ####
bal. 29 08:44:30 alphaepc python3[69668]: HSS Service
bal. 29 08:44:30 alphaepc python3[69668]: [04/29/2024 08:44:30] [INFO] Not loading EIR IMEI TAC Database as Redis not enabled or TA>
bal. 29 08:44:30 alphaepc python3[69668]: [04/29/2024 08:44:30] [INFO] Initialized Diameter Library
bal. 29 08:44:30 alphaepc python3[69668]: [04/29/2024 08:44:30] [INFO] Origin Host: hss.localpyhss
bal. 29 08:44:30 alphaepc python3[69668]: [04/29/2024 08:44:30] [INFO] Realm: localpyhss
bal. 29 08:44:30 alphaepc python3[69668]: [04/29/2024 08:44:30] [INFO] Product Name: pyHSS
bal. 29 08:44:30 alphaepc python3[69668]: [04/29/2024 08:44:30] [INFO] PLMN: 246/99
bal. 29 08:44:30 alphaepc systemd[1]: pyhss_hss.service: Deactivated successfully.
░░ Subject: Unit succeeded
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ The unit pyhss_hss.service has successfully entered the 'dead' state.
bal. 29 08:44:30 alphaepc systemd[1]: pyhss_hss.service: Scheduled restart
tried to change the ip, still the same issue, on wireshark i do see some traffic, but it still doesn't work, everything is configured as it should be, the installation guide is kinda missing, so i tried to follow it, and after playing around tried asking chatgpt, still the same issue...

Diameter tests not running

After setting test environment for test_Diameter.py, I noticed the test test_B_Recv_AIR is failing. I believe this assertion should be updated

- self.assertEqual(packet_vars['ApplicationId'], 0, "Application ID Mismatch")
+ self.assertEqual(packet_vars['ApplicationId'], 16777251, "Application ID Mismatch")

I could submit a PR but wanted to check that the test suites should be running before doing so

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.