Hello,

I'm trying to deploy Kamailio on Kubernetes (AWS EKS with Network Load Balancer) but I'm not able to register using TCP.
I'm using official Docker image 5.5.0-buster. 
I did some tests with Docker Compose and it worked fine, but on K8S it does not :-(

Here are my logs:

Listening on
             udp: 127.0.0.1:5060
             udp: 172.31.4.29:5060
             udp: 172.31.0.221:5060
             tcp: 127.0.0.1:5060
             tcp: 172.31.4.29:5060
             tcp: 172.31.0.221:5060
Aliases:
             tcp: ip-172-31-0-221.eu-central-1.compute.internal:5060
             tcp: 172-31-4-29.kube-prometheus-stack-prometheus-node-exporter.infra-prometheus.svc.cluster.local:5060
             tcp: localhost4.localdomain4:5060
             tcp: localhost4:5060
             tcp: localhost.localdomain:5060
             tcp: localhost:5060
             udp: ip-172-31-0-221.eu-central-1.compute.internal:5060
             udp: 172-31-4-29.kube-prometheus-stack-kubelet.kube-system.svc.cluster.local:5060
             udp: localhost4.localdomain4:5060
             udp: localhost4:5060
             udp: localhost.localdomain:5060
             udp: localhost:5060

 0(1) INFO: <core> [core/tcp_main.c:4983]: init_tcp(): using epoll_lt as the io watch method (auto detected)
 0(1) INFO: rr [../outbound/api.h:52]: ob_load_api(): unable to import bind_ob - maybe module is not loaded
 0(1) INFO: rr [rr_mod.c:188]: mod_init(): outbound module not available
 0(1) INFO: <core> [main.c:3030]: main(): processes (at least): 41 - shm size: 67108864 - pkg size: 8388608
 0(1) INFO: <core> [core/udp_server.c:154]: probe_max_receive_buffer(): SO_RCVBUF is initially 212992
 0(1) INFO: <core> [core/udp_server.c:206]: probe_max_receive_buffer(): SO_RCVBUF is finally 425984
 0(1) INFO: <core> [core/udp_server.c:154]: probe_max_receive_buffer(): SO_RCVBUF is initially 212992
 0(1) INFO: <core> [core/udp_server.c:206]: probe_max_receive_buffer(): SO_RCVBUF is finally 425984
 0(1) INFO: <core> [core/udp_server.c:154]: probe_max_receive_buffer(): SO_RCVBUF is initially 212992
 0(1) INFO: <core> [core/udp_server.c:206]: probe_max_receive_buffer(): SO_RCVBUF is finally 425984
29(35) INFO: jsonrpcs [jsonrpcs_sock.c:443]: jsonrpc_dgram_process(): a new child 0/35
31(37) INFO: ctl [io_listener.c:213]: io_listen_loop(): io_listen_loop:  using epoll_lt io watch method (config)
35(41) INFO: <core> [core/parser/parse_fline.c:147]: parse_first_line(): method not followed by SP
35(41) ERROR: <core> [core/parser/parse_fline.c:271]: parse_first_line(): parse_first_line: bad message (offset: 0)
35(41) ERROR: <core> [core/parser/msg_parser.c:747]: parse_msg(): ERROR: parse_msg: message=<>
35(41) ERROR: <core> [core/receive.c:374]: receive_msg(): core parsing of SIP message failed (194.230.146.66:9055/2)


And my service:

apiVersion: v1
kind: Service
metadata:
  name: kamailio-tcp
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
    service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: '*'
    service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
    service.beta.kubernetes.io/aws-load-balancer-target-group-attributes: preserve_client_ip.enabled=true
    service.beta.kubernetes.io/aws-load-balancer-type: external
  labels:
    app.kubernetes.io/instance: test-sip
    app.kubernetes.io/name: kamailio-tcp
    app.kubernetes.io/version: 5.5.0-buster
spec:
  type: LoadBalancer
  externalTrafficPolicy: Local
  ports:
    - name: sip-tcp
      nodePort: 30567
      port: 5060
      protocol: TCP
      targetPort: 5060
  selector:
    app.kubernetes.io/instance: test-sip
    app.kubernetes.io/name: kamailio


I have a Netwok Load Balancer create with a listener for TCP 5060 but when I try to connect with Zoiper or Linphone, it does not work :-(

I used tcpdump on my pod and it received well some SIP commands.
Any ideas of what could be wrong here?

Thanks in advance!

Cedric