Hello everybody,

I have tried to perform a call between alice and bob (both registered in the same SCSCF and from the same PCSCF). The INVITE goes all the way as it is supposed:

Alice-->PCSCF-->SBC-->SCSCF-->ICSCF-->SCSCF-->SBC-->PCSCF.

But when it reaches PCSCF on Network to User direction, this SIP proxy answers with a "477 Unfortunately error on sending to next hop occurred" code just after an exchange with the RTP Proxy (Offer-Answer).

At kamailio.cfg (which it is not change from the default config) this exchange is done under Route[RTPRPROXY] in the function:

rtpengine_manage("trust-address replace-origin replace-session-connection ICE=remove");

Does anybody know why is complaining (see below) about the server on localhost while it is not configured so?

Here you can find the logs from PCSCF:

Aug 23 15:10:06 ims rtpengine[556]: [3D504184-55D9D43E00072478-7E0DE700] Received command 'offer' from 192.168.0.108:57522

Aug 23 15:10:06 ims rtpengine[556]: [3D504184-55D9D43E00072478-7E0DE700] Creating new call

Aug 23 15:10:06 ims rtpengine[556]: [3D504184-55D9D43E00072478-7E0DE700] Replying to 'offer' from 192.168.0.108:57522

Aug 23 15:10:06 ims /usr/sbin/kamailio[3313]: ERROR: *** cfgtrace:request_route=[RTPPROXY] c=[/etc/kamailio/pcscf/kamailio.cfg] l=813 a=2 n=return

Aug 23 15:10:06 ims /usr/sbin/kamailio[3313]: ERROR: *** cfgtrace:request_route=[Term_Initial] c=[/etc/kamailio/pcscf/kamailio.cfg] l=1196 a=24 n=t_relay

Aug 23 15:10:06 ims /usr/sbin/kamailio[3313]: ERROR: <core> [udp_server.c:550]: udp_send(): sendto(sock,0x7f480e27ed70,1358,0,192.168.0.105:49284,16): Invalid argument(22)

Aug 23 15:10:06 ims /usr/sbin/kamailio[3313]: CRITICAL: <core> [udp_server.c:555]: udp_send(): invalid sendtoparameters#012one possible reason is the server is bound to localhost and#012attempts to send to the net


Here you can find the configuration from RTP proxy (/etc/default/ngcp-rtpengine-daemon) and you can see that I am not listening the localhost port at "INTERFACES":




RUN_RTPENGINE=yes


LISTEN_TCP=25060

LISTEN_UDP=12222

LISTEN_NG=22222

LISTEN_CLI=9900

INTERFACES="192.168.0.108"

TIMEOUT=60

SILENT_TIMEOUT=3600

PIDFILE=/var/run/ngcp-rtpengine-daemon.pid

FORK=yes

# TOS=184

TABLE=0

# NO_FALLBACK=yes

# PORT_MIN=30000

# PORT_MAX=50000

# REDIS=127.0.0.1:6379

# REDIS_DB=1

# B2B_URL=http://127.0.0.1:8090/

# LOG_LEVEL=6

# LOG_FACILITY=daemon

# LOG_FACILITY_CDR=daemon

# LOG_FACILITY_RTCP=daemon

# NUM_THREADS=5

# DELETE_DELAY=30

# GRAPHITE=9006

# GRAPHITE_INTERVAL=60

# GRAPHITE_PREFIX=myownprefix

# MAX_SESSIONS=5000


And finally the pcscf.cfg:

# SIP / UDP

listen=udp:eth0:4060

#listen=udp:127.0.0.1:4070

listen=udp:127.0.0.1:4060

# SIP / TCP (Monitoring)

#listen=tcp:127.0.0.1:4060

# SIP / TCP/TLS

#listen=tls:109.239.57.200:5061

# SIP / Websocket


#!define MY_WS_PORT 80


listen=tcp:eth0:MY_WS_PORT


# SIP / Websocket/TLS

#!define MY_WSS_PORT 443

#listen=tls:109.239.57.200:MY_WSS_PORT


#alias=pcscf-1.imscore.org

alias=pcscf.home-domain.net

#alias=proxy.imscore.org

#alias=tls:"wss-proxy.imscore.org":443


# Port, where we listen to Traffic

#!define PORT 4060


# NUEVO Workshop!

#!define SBCPORT 5080

#!define PCSCF_URL "sip:pcscf.home-domain.net"

#!define TCP_PROCESSES 32


#!subst "/NETWORKNAME/home-domain.net/"

#!subst "/HOSTNAME/pcscf.home-domain.net/"

#!define HOSTNAME_IP pcscf.home-domain.net

#!define HOSTNAME_ESC "pcscf\.home-domain\.net"


# SIP-Address of capturing node, if not set, capturing is disabled.

##!define CAPTURE_NODE "sip:10.1.8.55"


# Allowed IPs for XML-RPC-Queries

#!define XMLRPC_WHITELIST_1 "127.0.0.1"

##!define XMLRPC_WHITELIST_2 "127.0.0.1"

##!define XMLRPC_WHITELIST_3 "127.0.0.1"


# Databases:

#!define DB_URL "mysql://pcscf:heslo@127.0.0.1/pcscf"

##!define DB_URL2 "con2=>mysql://pcscf:heslo@127.0.0.1/pcscf"

##!define DB_URL "con1=>mysql://pcscf:heslo@192.168.5.1/pcscf"

##!define DB_URL2 "con2=>mysql://pcscf:heslo@10.1.27.217/pcscf"


#! Optional: Server-URL for Websocket-Requests

##!define WEBSOCKET_WEBSERVER "phone.imscore.org"


# NUEVO Workshop!

#!subst "/ICID_VALUE_PREFIX/P-CSCFabcd/"

#!subst "/ICID_GEN_ADDR/127.0.0.1/"


# IP-Adress(es) of the RTP-Proxy

##!define RTPPROXY_ADDRESS "udp:10.1.2.186:22222 udp:10.1.27.217:22222"

#!define RTPPROXY_ADDRESS "udp:192.168.0.108:22222"

#

# Several features can be enabled using '#!define WITH_FEATURE' directives:

#

# *** To run in debug mode:

#     - define WITH_DEBUG

#

# *** To enable nat traversal execute:

#     - define WITH_NAT

#     - define the connection to the RTP-Proxy: RTPPROXY_ADDRESS

#

# *** To force alls calls through the RTP-Proxy

#     - this will automagically enable NAT-Traversal

#     - define FORCE_RTPRELAY

#

# *** To enable IPv4/IPv6 Translation (RTPProxy)

#     - this will automagically enable NAT-Traversal

#     - define WITH_RTPIPV4

#

# *** To enable TCP support execute:

#     - define WITH_TCP

#

# *** To enable TLS support execute:

#     - adjust CFGDIR/tls.cfg as needed

#     - define WITH_TLS

#     - this will automagically enable TCP

#

# *** To enable XMLRPC support execute:

#     - define WITH_XMLRPC

#     - this will automagically enable TCP

#

# *** To enable anti-flood detection execute:

#     - adjust pike and htable=>ipban settings as needed (default is

#       block if more than 16 requests in 2 seconds and ban for 300 seconds)

#     - define WITH_ANTIFLOOD

#

# *** To enable the Rx-Interface:

#     - Configure Rx-Diameter-Interface in pcscf.xml

#     - define WITH_RX

#

# *** To enable a Homer SIP-Capter-Node:

#     - define CAPTURE_NODE with a proper address

#

# *** To enable support for the SEMS-SBC

#     - define WITH_SBC

#     - configure dispatcher-list with a set of SBC's

#

# *** To enable support for Websocket

#     - define WITH_WEBSOCKET

#     - this will automagically enable TCP

#

# Enabled Features for this host:

#!define WITH_DEBUG

#!define WITH_NAT

#!define WITH_NATPING

#!define FORCE_RTPRELAY

##!define WITH_TLS

#!define WITH_XMLRPC

#!define WITH_ANTIFLOOD

##!define WITH_RX

##!define WITH_RX_REG

##!define WITH_RX_CALL

##!define WITH_TCP

##!define WITH_SBC

##!define WITH_RTPIPV4

#!define WITH_SBC_CALL

#!define WITH_REGINFO

#!define WITH_WEBSOCKET

#!define WITH_IMS_HDR_CACHE


Thanks a lot for your attention