Skip to content

[CRASH]Clusterer + SIP-I + Dialog (sharing) #3858

@exoxec

Description

@exoxec

OpenSIPS version you are running

3.4, 3.6

Crash Core Dump

Describe the traffic that generated the bug

If an SDP message with ISUP (binary data) gets into the dialog and the data is shared in the cluster, the system crashes, when on node 2 this data can be used

To Reproduce

Relevant System Logs
dmesg:
traps: opensips[52111] general protection fault ip:7028a0c06d91 sp:7fffcaf70418 error:0 in [dialog.so](http://dialog.so/)[7028a0bfb000+56000]
traps: opensips[18012] general protection fault ip:754219b75d91 sp:7ffea29d24c8 error:0 in [dialog.so](http://dialog.so/)[754219b6a000+56000]

OS/environment information

  • Operating System: Debian 11
  • OpenSIPS installation: debs
  • other relevant information:

Additional context

When i check dlg_list with console mi:
mi dlg_list -> UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 4173: invalid start byte

I can read dlg_list if use opensips_fifo:
"callee_sent_sdp": "--OSS-unique-boundary-42\r\nContent-Type: application/sdp\r\n\r\nv=0\r\no=FreeSWITCH 1771978600 1771978601 IN IP4 192.168.111.67\r\ns=FreeSWITCH\r\nc=IN IP4 192.168.111.67\r\nt=0 0\r\nm=audio 36250 RTP/AVP 0 8 101\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:101 telephone-event/8000\r\na=fmtp:101 0-15\r\na=sendrecv\r\na=ptime:20\r\n\r\n--OSS-unique-boundary-42\r\nContent-Type: application/ISUP;version=itu-t92+\r\nContent-Disposition:signal;handling=required\r\n\r\n\u0001\u0001H"

At the time of the crash, there was sometimes a tm module.

Dialog params:

##### Dialog
loadmodule "dialog.so"
modparam("dialog", "enable_stats", 1)
modparam("dialog", "dlg_match_mode", 1)
modparam("dialog", "db_mode", 0)
modparam("dialog", "options_ping_interval", 30)
modparam("dialog", "reinvite_ping_interval", 300)
modparam("dialog", "dialog_replication_cluster", 1)
#modparam("dialog", "profile_replication_cluster", 1)
modparam("dialog", "replicate_profiles_buffer", 1400)
modparam("dialog", "replicate_profiles_check", 10)
modparam("dialog", "replicate_profiles_timer", 10)
modparam("dialog", "replicate_profiles_expire", 10)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions