Instances can't get any IP from the DHCP server in OPENSTACK - openstack

I have openstack wallaby running in two vm in VBox with Ubuntu 20.04, Controller and compute1. Everything runs without issues in provider network flat type except the dhcp.
For example, I have a network created in the range of 192.168.8.20-192.168.8.30. I selected to have a DHCP.
The instance gets an ip and runs, but when running it I can't get a response from the DHCP, like it did not exist. I mean, the port is attached to the DCHP with the ip 192.168.8.20.
I can even connect to it running ip netns.
root#controller:/home/stack# ip netns list
qdhcp-36c8f4db-ccfc-483b-a5ff-868185dcce0f (id: 0)
When i try to ping the instance ip from the DHCP to the instance using netns the dhcp server did not get any response from the instance or any device in the network. The network works, because if I setup the ip manually in the instance I can get access to the gateway. But it didn't see the DHCP server, sending DHCP_DISCOVER without any response.
Address -> 192.168.8.0/24 36c8f4db-ccfc-483b-a5ff-868185dcce0f
Subnet -> 192.168.8.120,192.168.8.130 09c143c9-0225-4951-bd9c-61846b8078a1
DHCP -> 192.168.8.120 f4b2f7ba-c9e8-493d-a010-852e72f46ef7
Instance -> 192.168.8.22 53316673-b6eb-4880-866f-91b1613aa17c
The process:
root#controller:/home/stack# ps aux | grep dnsmasq
nobody 3616 0.0 0.0 12144 364 ? S 18:11 0:00 dnsmasq --no-hosts --no-resolv --pid-file=/var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/host --addn-hosts=/var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/opts --dhcp-leasefile=/var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/leases --dhcp-match=set:ipxe,175 --dhcp-userclass=set:ipxe6,iPXE --local-service --bind-dynamic --dhcp-range=set:subnet-09c143c9-0225-4951-bd9c-61846b8078a1,192.168.8.0,static,255.255.255.0,86400s --dhcp-option-force=option:mtu,1500 --dhcp-lease-max=256 --conf-file=/dev/null --domain=openstacklocal
root 6278 0.0 0.0 6380 2380 pts/1 S+ 18:59 0:00 grep --color=auto dnsmasq
And the log from /var/log/syslog
Nov 6 19:05:10 controller dnsmasq-dhcp[3616]: DHCPRELEASE(ns-f4b2f7ba-c9) 192.168.8.128 fa:16:3e:24:74:93
Nov 6 19:05:10 controller dnsmasq[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/addn_hosts - 1 addresses
Nov 6 19:05:10 controller dnsmasq-dhcp[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/host
Nov 6 19:05:10 controller dnsmasq-dhcp[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/opts
Nov 6 19:05:30 controller dnsmasq[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/addn_hosts - 2 addresses
Nov 6 19:05:30 controller dnsmasq-dhcp[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/host
Nov 6 19:05:30 controller dnsmasq-dhcp[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/opts
Nov 6 19:05:30 controller dnsmasq[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/addn_hosts - 2 addresses
Nov 6 19:05:30 controller dnsmasq-dhcp[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/host
Nov 6 19:05:30 controller dnsmasq-dhcp[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/opts
Nov 6 19:05:30 controller dnsmasq[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/addn_hosts - 2 addresses
Nov 6 19:05:30 controller dnsmasq-dhcp[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/host
Nov 6 19:05:30 controller dnsmasq-dhcp[3616]: read /var/lib/neutron/dhcp/36c8f4db-ccfc-483b-a5ff-868185dcce0f/opts

Related

AWS ASP.NET Error: provider: TCP Provider, error: 40 - Could not open a connection to SQL Server. Server running, allows remote connection, ports open

I am deploying a demo on AWS EC2 Instances.
I have a Win Server 2022 instance running SQL Server (Launched from the AWS AMI that pre-includes SQL Server). And a Amazon Linux instance hosting the ASP.NET application, running .NET SDK 6.0, .NET runtime 6.0 and ASP runtime 6.0. (Noteworthy: I had difficulties getting .NET installed. Ultimately I had to download the archives from Microsoft, scp them to the Linux instance, then decompress them to /usr/local and set my PATH to include it. This all seemed to have worked, my app runs but does not connect to the database.)
I am running a Minimal API on the ASP.NET application. When I browse to an endpoint, it spins for about 5 seconds and returns this error:
{
"type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
"title": "An error occurred while processing your request.",
"status": 500,
"detail": "A network-related or instance-specific error occurred while establishing \
a connection to SQL Server. The server was not found or was not accessible. Verify \
that the instance name is correct and that SQL Server is configured to allow remote \
connections. (provider: TCP Provider, error: 40 - Could not open a connection to SQL Server)"
}
Previous iterations of the application worked on local installs on my dev machine.
Environment and troubleshooting steps
I'll try to edit the post if I can to add images again when allowed
The connection String is supplied in an appsettings.json file in the root of the application folder:
[ec2-user#[aws-linux-host] [appfolder]]$ ls -al
total 5584
drwxr-xr-x 2 ec2-user ec2-user 4096 Jan 10 15:53 .
drwxr-xr-x 5 root root 43 Jan 8 20:07 ..
...
-rw-rw-r-- 1 ec2-user ec2-user 302 Jan 10 15:53 appsettings.json
-rw-rw-r-- 1 ec2-user ec2-user 142840 Jan 10 15:45 [webapp-name]
-rw-rw-r-- 1 ec2-user ec2-user 551424 Jan 10 15:45 [webapp-name].dll
...
appsettings.json contents:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"Default": "Data Source=[ip-of-win-server];Initial Catalog=[DBNAME];User ID=[sql-server-login];Password=[sql-server-login-password]"
}
}
MSSQLSERVER is running on the Win Server
> Get-Service MSSQLSERVER
Status Name DisplayName
------ ---- -----------
Running MSSQLSERVER SQL Server (MSSQLSERVER)
I am connecting using an IP Address in the Connection String and the TCP/IP connection is enabled in SQL Server Configuration Manager
[SQL Server Configuration Manager]
(https://i.stack.imgur.com/7ZfMT.png)
The Server is configured to accept remote connections
[Server Properties]
(https://i.stack.imgur.com/OuRnK.png)
The SQL Server login used in the Connection String is granted permission to connect
[Login Permissions]
(https://i.stack.imgur.com/3BHDS.png)
The Firewall is open on the Win Server for TCP/1433 and TCP/1434
> Get-NetFirewallPortFilter -All | ? {$_.LocalPort -In (1433,1434)} | FT
Protocol LocalPort RemotePort IcmpType DynamicTarget
-------- --------- ---------- -------- -------------
TCP 1433 Any Any Any
TCP 1433 Any Any Any
TCP 1434 Any Any Any
TCP 1434 Any Any Any
The security group for the EC2 instance has an inbound rule to allow 1433 from the subnet of the webapp host (and they're both in the same subnet, so routing is not an issue)
[EC2 Security Group on Win Server]
(https://i.stack.imgur.com/6zLT1.png)
Answering my own question
The issue was the Security Group had an inbound rule for the wrong subnet. IPs for the two hosts ended in .125 and .126, I needed to allow from .112/28.

rPi OS upgrade introduced Predictable Network Interface Names; can't get eth0 back and dhcp working again [closed]

Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed last month.
Improve this question
System: Host: rpi32 Kernel: 5.15.56-v7+ armv7l bits: 32 Console: tty 0 Distro: Raspbian GNU/Linux 11 (bullseye)
Machine: Type: ARM Device System: Raspberry Pi 3 Model B Rev 1.2 details: BCM2835 rev: a22082 serial: 000000009a5073f1
I had a working machine before the upgrade, ntp, dhcp (is actually isc-dhcpserver), dns all working.
Then upgraded the OS (to Bullseye) and could no longer connect to the rPi.
dmesg revealed that eth0 could not be connected to.
The interface was identified as enxb827eb5073f1. en = Ethernet plus MAC address.
Some research revealed that what I am seeing is called "Predictable Network Interface Names".
It said this is the new standard/approach, due to multi-interface machines not necessarily assigning the interface name at kernel boot; e.g., it could be eth0 on one boot, and eth1 during another; not good for firewalls, etc.
So I changed the following config files to get dhcp working:
/etc/default/isc-dhcp-server
/etc/network/interfaces
/etc/dhcp/dhcpd.conf
... and changed eth0 to enxb827eb5073f1.
No luck.
sudo service dhcpcd status
● dhcpcd.service - dhcpcd on all interfaces
Loaded: loaded (/lib/systemd/system/dhcpcd.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/dhcpcd.service.d
└─wait.conf
Active: failed (Result: exit-code) since Fri 2022-08-19 15:04:18 AEST; 28min ago
Process: 859 ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -w (code=exited, status=6)
CPU: 11ms
Aug 19 15:04:18 rpi32 systemd[1]: Starting dhcpcd on all interfaces...
Aug 19 15:04:18 rpi32 dhcpcd[859]: Not running dhcpcd because /etc/network/interfaces
Aug 19 15:04:18 rpi32 dhcpcd[859]: defines some interfaces that will use a
Aug 19 15:04:18 rpi32 dhcpcd[859]: DHCP client or static address
Aug 19 15:04:18 rpi32 systemd[1]: dhcpcd.service: Control process exited, code=exited, status=6/NOTCONFIGURED
Aug 19 15:04:18 rpi32 systemd[1]: dhcpcd.service: Failed with result 'exit-code'.
Aug 19 15:04:18 rpi32 systemd[1]: Failed to start dhcpcd on all interfaces.
and
dhcpd -t /etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd.conf: interface name too long (is 20)
Researching this topic pointed to incorrect dhcpd config, pointing to udev rules, and I do not understand, and from what I could see, did not contain interface reference.
I read here: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/ that this naming scheme can be reverted by adding this: net.ifnames=0 to the kernel command line (/boot/cmdline.txt).
This is what I did. I reverted all changes in the three config files listed above, plus in the cmdline.txt.
(I rebooted as required after these changes.)
and dhcpd -t /etc/dhcp/dhcpd.conf still returns:
/etc/dhcp/dhcpd.conf: interface name too long (is 20)
All services work, except dhcp (ntp is back up as well, as no changes where made here WRT eth0 changes).
Now I wonder what else I need to do to get dhcp working again.
Config files:
ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255
ether b8:27:eb:50:73:f1 txqueuelen 1000 (Ethernet)
RX packets 14682 bytes 1148952 (1.0 MiB)
RX errors 0 dropped 3460 overruns 0 frame 0
TX packets 7079 bytes 1063400 (1.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 105 bytes 10173 (9.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 105 bytes 10173 (9.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
cat /etc/default/isc-dhcp-server
# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf
# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid
#OPTIONS=""
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
#INTERFACESv4="enxb827eb5073f1"
INTERFACESv4="eth0"
#INTERFACESv6=""
cat /etc/dhcpcd.conf
# A sample configuration for dhcpcd.
# Inform the DHCP server of our hostname for DDNS.
hostname
# Use the hardware address of the interface for the Client ID.
clientid
# Persist interface configuration when dhcpcd exits.
persistent
# Rapid commit support.
option rapid_commit
# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Respect the network MTU. This is applied to DHCP routes.
option interface_mtu
# Most distributions have NTP support.
#option ntp_servers
# A ServerID is required by RFC2131.
require dhcp_server_identifier
# Generate SLAAC address using the Hardware Address of the interface
#slaac hwaddr
# OR generate Stable Private IPv6 Addresses based from the DUID
slaac private
cat /etc/dhcp/dhcpd.conf
# 190803-1530 installed DHCP server on rPi32
#
# 170611-1933 MaxG: changed from none to interim
#ddns-update-style none;
ddns-update-style interim;
# 170612-2300 MaxG: added based on
# https://blog.bigdinosaur.org/running-bind9-and-isc-dhcp/
ddns-updates on;
update-static-leases on;
ddns-domainname "argylecourt.lan";
ddns-rev-domainname "in-addr.arpa.";
authoritative;
# 190804-1424 MaxG: added key and 2 zones
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
# Important: Replace this key with your generated key.
# Also note that the key should be surrounded by quotes.
secret "someKeyBlah";
};
zone argylecourt.lan. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 1.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
# 150301 MaxG - added to shut up Windows PC from clogging
# syslog with DHCPACK and DHCPINFORM msgs (WPAD)
option wpad-url code 252 = text;
# my subnet specifications
subnet 192.168.1.0 netmask 255.255.255.0 {
#interface enxb827eb5073f1;
# pool range; can have multiple ranges in this file
range 192.168.1.50 192.168.1.199;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
ddns-domainname "argylecourt.lan";
ddns-rev-domainname "in-addr.arpa";
option broadcast-address 192.168.1.255;
option domain-name "argylecourt.lan";
option domain-name-servers 192.168.1.8;
option ntp-servers 192.168.1.8; # Default NTP server to be used by DHCP clients
default-lease-time 86400; # 1 day
max-lease-time 604800; # 7 days
option wpad-url "\n";
}
# reservations; must NOT be in pool
# sorted by assinged IP address
host maxg-x570 {
# MaxG's PC -- x570
# added 20220409-2106
hardware ethernet 04:42:1a:95:2b:37;
fixed-address 192.168.1.13;
}
host brother-mfc {
# Brother Network Printer -- BRN_368926
hardware ethernet 00:80:77:36:89:26;
fixed-address 192.168.1.33;
ddns-hostname "brothermfc8820d";
}
I ran into the same situation and was not able to tell where the mistake was.
try $ dhcpd /etc/dhcp/
this will search the whole file and will point directly where the mistake is
Well, well... how embarrassing!
The solution is simple:
sudo service isc-dhcp-server start
Start the correct service. It is not dhcp, it is isc-dhcp-server!
What I do not understand is why this service was no longer auto-starting.
Anyway, problem, or rather stupidity solved.

jMeter Distributed Testing: Master won't shut down

I have a simple 4 server setup running jMeter (3 slaves, 1 master):
Slave 1: 10.135.62.18 running ./jmeter-server -Djava.rmi.server.hostname=10.135.62.18
Slave 2: 10.135.62.22 running ./jmeter-server -Djava.rmi.server.hostname=10.135.62.22
Slave 3: 10.135.62.20 running ./jmeter-server -Djava.rmi.server.hostname=10.135.62.20
Master: 10.135.62.11 with remote_hosts=10.135.62.18,10.135.62.22,10.135.62.20
I start the test with ./jmeter -n -t /root/jmeter/simple.jmx -l /root/jmeter/result.jtl -r
With the following output:
Writing log file to: /root/apache-jmeter-3.0/bin/jmeter.log
Creating summariser <summary>
Created the tree successfully using /root/jmeter/simple.jmx
Configuring remote engine: 10.135.62.18
Configuring remote engine: 10.135.62.22
Configuring remote engine: 10.135.62.20
Starting remote engines
Starting the test # Mon Aug 29 11:22:38 UTC 2016 (1472469758410)
Remote engines have been started
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
The Slaves print:
Starting the test on host 10.135.62.22 # Mon Aug 29 11:22:39 UTC 2016 (1472469759257)
Finished the test on host 10.135.62.22 # Mon Aug 29 11:22:54 UTC 2016 (1472469774871)
Starting the test on host 10.135.62.18 # Mon Aug 29 11:22:39 UTC 2016 (1472469759519)
Finished the test on host 10.135.62.18 # Mon Aug 29 11:22:57 UTC 2016 (1472469777173)
Starting the test on host 10.135.62.20 # Mon Aug 29 11:22:39 UTC 2016 (1472469759775)
Finished the test on host 10.135.62.20 # Mon Aug 29 11:22:56 UTC 2016 (1472469776670)
Unfortunately the master waits for messages on port 4445 indefinitely event though all slaves finished the test.
Is there anything I have missed?
I figured it out myself just before submitting the question. I guess the solution could be useful nonetheless:
Once I start the test (on the main server) with this:
./jmeter -n -t /root/jmeter/simple.jmx -l /root/jmeter/result.jtl -r -Djava.rmi.server.hostname=10.135.62.11 -Dclient.rmi.localport=4001
It works just fine. I wonder why the documentation doesn't mention something like this.

Make Redis unixsocket owned by redis user

I have installed Redis 3.0.6 on Debian. There's a /etc/init.d/redis file which starts the Redis server when the system starts or I can invoke it manually to start/stop the server. Problem is that this script is run as root user.
I have a redis user and group that I want to make Redis run under. But I can't figure out how (I have not found an option to make Redis switch user ID after startup). In my config file I use
unixsocket /home/redis/redis.sock
unixsocketperm 770
But, of course, the redis.sock is owned by root.
drwxr-xr-x 2 redis redis 4096 Jan 18 03:34 bin
drwxr-xr-x 2 redis redis 4096 Jan 18 03:55 data
-rw-r--r-- 1 redis redis 41638 Jan 18 03:52 redis.conf
-rw-r--r-- 1 redis redis 16348 Jan 18 03:55 redis.log
-rw-r--r-- 1 root root 5 Jan 18 03:55 redis.pid
srwxrwx--- 1 root root 0 Jan 18 03:55 redis.sock
And the process is, too.
root 7913 0.1 0.1 38016 1976 ? Ssl 03:55 0:00 /home/redis/bin/redis-server *:6379
Ultimately, I have a git user that is also in the redis group and thus should in the end have access to redis.sock. (This is for a manual deployment of GitLab CE).
How I can I configure the Redis server that way?
Update your /etc/init.d to use sudo during start service (line 33):
sudo -u redis $EXEC $CONF
You may need to cleanup old files (in /var/lib) or reset their permission to redis.

Kamailio - WebSocket - Setup

I am an web developer and want to create a WEBRTC application. My knowledge level in SIP is beginner. I want my application to talk to kamailio and in process of setting up kamailio by following the below articles.
http://nil.uniza.sk/sip/kamailio/configuring-kamailio-4x-websocket
http://kamailio.org/docs/modules/4.3.x/modules/websocket.html
I was able to connect (using try.jssp.net) to kamailio as multiple clients for initial setup but unable to call from one browser client to another client. Below is the log message that I see in the kamailio server.
I see this error message multiple times logged
Aug 9 20:27:10 ip-10-94-99-80 /usr/sbin/kamailio[25063]: INFO: <core> [parser/parse_fline.c:146]: parse_first_line(): ERROR:parse_first_line: method not followed by SP
Aug 9 20:27:10 ip-10-94-99-80 /usr/sbin/kamailio[25063]: ERROR: <core> [parser/parse_fline.c:243]: parse_first_line(): parse_first_line: bad message (offset: 0)
Aug 9 20:27:10 ip-10-94-99-80 /usr/sbin/kamailio[25063]: DEBUG: <core> [parser/msg_parser.c:619]: parse_msg(): parse_msg: invalid message
Aug 9 20:27:10 ip-10-94-99-80 /usr/sbin/kamailio[25063]: ERROR: <core> [parser/msg_parser.c:705]: parse_msg(): ERROR: parse_msg: message=<#001#020#002#021#037?#037?#012^cP#012^cP#001#020#002#026?A#037?H#0229w>
Aug 9 20:27:10 ip-10-94-99-80 /usr/sbin/kamailio[25063]: ERROR: <core> [receive.c:149]: receive_msg(): core parsing of SIP message failed (10.94.99.80:8088/1)
and also found this in the log
DEBUG: <core> [dset.c:774]: uri_add_rcv_alias(): encoded <sip:d63im5st#avltu6trdhg0.invalid;transport=ws;ob> => [sip:d63im5st#avltu6trdhg0.invalid;transport=ws;ob;alias=172.18.57.119~60481~5]
Aug 9 20:27:33 ip-10-94-99-80 /usr/sbin/kamailio[25074]: DEBUG: nathelper [nathelper.c:965]: add_contact_alias_0_f(): contact uri host is not an ip address
Aug 9 20:27:33 ip-10-94-99-80 /usr/sbin/kamailio[25074]: ERROR: nathelper [nathelper.c:977]: add_contact_alias_0_f(): you can't call add_contact_alias twice, check your config!
Aug 9 20:27:33 ip-10-94-99-80 /usr/sbin/kamailio[25074]: ERROR: <script>: Error aliasing contact <<sip:d63im5st#avltu6trdhg0.invalid;transport=ws;ob>>
Additional log info
Aug 9 20:27:10 ip-10-94-99-80 /usr/sbin/kamailio[25072]: DEBUG: websocket [ws_frame.c:661]: ws_frame_receive(): Rx SIP message:#012REGISTER sip:ip-10-94-99-80.customdomain.com SIP/2.0#015#012Via: SIP/2.0/WS avltu6trdhg0.invalid;branch=z9hG4bK6572200#015#012Max-Forwards: 69#015#012To: <sip:agent01#ip-10-94-99-80.customdomain.com>#015#012From: "agent01" <sip:agent01#ip-10-94-99-80.customdomain.com>;tag=68gqn060sb#015#012Call-ID: 22oik6ujj2bfjuuauasgdq#015#012CSeq: 1 REGISTER#015#012Contact: <sip:d63im5st#avltu6trdhg0.invalid;transport=ws>;+sip.ice;reg-id=1;+sip.instance="<urn:uuid:74809558-6d30-42c3-afbd-072d5d0ad5ab>";expires=600#015#012Expires: 600#015#012Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER#015#012Supported: path,gruu,outbound#015#012User-Agent: JsSIP 0.7.3#015#012Content-Length: 0#015#012#015#012
Aug 9 20:27:15 ip-10-94-99-80 /usr/sbin/kamailio[25073]: DEBUG: websocket [ws_frame.c:661]: ws_frame_receive(): Rx SIP message:#012REGISTER sip:ip-10-94-99-80.customdomain.com SIP/2.0#015#012Via: SIP/2.0/WS egvf3nqhdl35.invalid;branch=z9hG4bK4737687#015#012Max-Forwards: 69#015#012To: <sip:agent02#ip-10-94-99-80.customdomain.com>#015#012From: "agent02" <sip:agent02#ip-10-94-99-80.customdomain.com>;tag=8dldgic783#015#012Call-ID: v4rim0ku5dtqrtqkcgv0an#015#012CSeq: 1 REGISTER#015#012Contact: <sip:bh9ao5ab#egvf3nqhdl35.invalid;transport=ws>;+sip.ice;reg-id=1;+sip.instance="<urn:uuid:f593c0a4-0984-46a0-8f3e-a231fb4d1713>";expires=600#015#012Expires: 600#015#012Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER#015#012Supported: path,gruu,outbound#015#012User-Agent: JsSIP 0.7.3#015#012Content-Length: 0#015#012#015#012
Aug 9 20:27:33 ip-10-94-99-80 /usr/sbin/kamailio[25074]: DEBUG: websocket [ws_frame.c:661]: ws_frame_receive(): Rx SIP message:#012INVITE sip:agent02#ip-10-94-99-80.customdomain.com SIP/2.0#015#012Via: SIP/2.0/WS avltu6trdhg0.invalid;branch=z9hG4bK9231290#015#012Max-Forwards: 69#015#012To: <sip:agent02#ip-10-94-99-80.customdomain.com>#015#012From: "agent01" <sip:agent01#ip-10-94-99-80.customdomain.com>;tag=jngmrtvvec#015#012Call-ID: s1fdqticqc31ru6p5cfs#015#012CSeq: 9973 INVITE#015#012X-Can-Renegotiate: true#015#012Contact: <sip:d63im5st#avltu6trdhg0.invalid;transport=ws;ob>#015#012Content-Type: application/sdp#015#012Session-Expires: 90#015#012Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER#015#012Supported: timer,ice,replaces,outbound#015#012User-Agent: JsSIP 0.7.3#015#012Content-Length: 3876#015#012#015#012v=0#015#012o=- 7098982196661734965 2 IN IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE audio video#015#012a=msid-semantic: WMS XynF2020ZZYtShWgfoYkS23q5sgbtcquUl0s#015#012m=audio 56249 RTP/SAVPF 111 103 104 9 0 8 106 105 13 126#015#012c=IN IP4 172.18.57.119#015#012a=rtcp:54672 IN IP4 172.18.57.119#015#012a=candidate:2390899093 1 udp 2122260223 172.18.57.119 56249 typ host generation 0#015#012a=candidate:1221703924 1 udp 2122194687 192.168.0.105 60197 typ host generation 0#015#012a=candidate:2390899093 2 udp 2122260222 172.18.57.119 54672 typ host generation 0#015#012a=candidate:1221703924 2 udp 2122194686 192.168.0.105 54423 typ host generation 0#015#012a=candidate:3221341541 1 tcp 1518280447 172.18.57.119 0 typ host tcptype active generation 0#015#012a=candidate:106054660 1 tcp 1518214911 192.168.0.105 0 typ host tcptype active generation 0#015#012a=candidate:3221341541 2 tcp 1518280446 172.18.57.119 0 typ host tcptype active generation 0#015#012a=candidate:106054660 2 tcp 1518214910 192.168.0.105 0 typ host tcptype active generation 0#015#012a=ice-ufrag:Las7oILW40BIM8zF#015#012a=ice-pwd:A3ewod5vG57HcA/JvnAaRGWV#015#012a=fingerprint:sha-256 31:22:C5:67:B6:CB:D0:66:7D:E4
Aug 9 20:27:33 ip-10-94-99-80 /usr/sbin/kamailio[25074]: DEBUG: websocket [ws_frame.c:661]: ws_frame_receive(): Rx SIP message:#012ACK sip:agent02#ip-10-94-99-80.customdomain.com SIP/2.0#015#012Via: SIP/2.0/WS avltu6trdhg0.invalid;branch=z9hG4bK9231290#015#012To: <sip:agent02#ip-10-94-99-80.customdomain.com>;tag=5f994d94abde79a17171e171202b0e42.d13e#015#012From: "agent01" <sip:agent01#ip-10-94-99-80.customdomain.com>;tag=jngmrtvvec#015#012Call-ID: s1fdqticqc31ru6p5cfs#015#012CSeq: 9973 ACK#015#012Content-Length: 0#015#012#015#012
Any help is appreciated
So you should check your kamailio.cfg, I think config is broken.
And maybe you want to use Asterisk or Freeswitch for WebRTC and PBX. You can find the Kamailio and Freeswitch integration tutorial here:
http://kb.asipto.com/freeswitch:kamailio-3.1.x-freeswitch-1.0.6d-sbc
It will be good choice using Kamailio as routing and registar server. Generally we use Freeswitch or Asterisk as media server for these kind of operations.
Please feel free ask me any questions.

Resources