NG commands over HTTP

6 views
Skip to first unread message

Ivan Ribakov

unread,
Jul 19, 2024, 8:32:15 AM (8 days ago) Jul 19
to Sipwise rtpengine
Hi all, I'm just getting started with rtpengine and as a first task I'm trying to send the "ping" command.

I started by taking "fonoster/rtpengine:0.3.16" Docker image. From the docs I see that the default NG port is 22222 and I when I inspect the config file inside the container I see the following line: 
listen-ng=0.0.0.0:22222

When I try to invoke this curl command however, I get failure to connect:

curl --header "Content-Type: application/x-rtpengine-ng"   --request POST   --data 'foo {"command":"ping"}'   http://127.0.0.1:22222/ng
url: (7) Failed to connect to 127.0.0.1 port 22222 after 0 ms: Couldn't connect to server

Any idea what am I missing here?

Here are the logs that I'm seeing at the start up:
rtpengine | [1721392195.833170] INFO: [crypto] Generating new DTLS certificate
rtpengine | [1721392195.833200] DEBUG: [crypto] Using EC-prime256v1 key for DTLS certificate
rtpengine | [1721392195.834433] DEBUG: [srtp] Dump of DTLS certificate:
...
rtpengine | [1721392195.834570] DEBUG: [srtp] Dump of DTLS private key:
...
rtpengine | [1721392195.848390] DEBUG: [core] Codec QCELP is only supported for decoding by codec library
...
rtpengine | [1721392195.848739] DEBUG: [core] Codec AMR-WB is only supported for decoding by codec library
rtpengine | [1721392195.848772] DEBUG: [core] log dtmf over ng 0
rtpengine | [1721392195.848779] DEBUG: [core] no log injected dtmf 0
rtpengine | [1721392195.858970] DEBUG: [http] Starting HTTP/WS '0.0.0.0:8080'
rtpengine | [1721392195.859210] DEBUG: [http] Websocket init complete with 16 threads
rtpengine | [1721392195.859235] INFO: [core] Startup complete, version 12.5.0.0+0~mr12.5.0.0 git-master-236ca51a
rtpengine | [1721392195.860181] INFO: [http] Websocket listener thread running
rtpengine | [1721392195.860199] DEBUG: [http] http-only callback 31 0x638ed6999248 (nil)
rtpengine | [1721392195.860208] DEBUG: [http] http-only callback 27 0x638ed6999248 (nil)
rtpengine | [1721392195.860215] DEBUG: [http] Websocket protocol 'janus-protocol' callback 27 0x638ed6999248 (nil)
rtpengine | [1721392195.860219] DEBUG: [http] Websocket protocol 'echo.rtpengine.com' callback 27 0x638ed6999248 (nil)
rtpengine | [1721392195.860223] DEBUG: [http] Websocket protocol 'rtpengine-cli' callback 27 0x638ed6999248 (nil)
rtpengine | [1721392195.860227] DEBUG: [http] Websocket protocol 'rtpengine-ng' callback 27 0x638ed6999248 (nil)
rtpengine | [1721392195.860230] DEBUG: [http] Websocket protocol 'rtpengine-ng-plain' callback 27 0x638ed6999248 (nil)
rtpengine | [1721392195.860248] DEBUG: [http] http-only callback 71 0x638ed6999248 (nil)
rtpengine | [1721392195.860253] DEBUG: [http] Websocket protocol 'janus-protocol' callback 71 0x638ed6999248 (nil)
rtpengine | [1721392195.860256] DEBUG: [http] Websocket protocol 'echo.rtpengine.com' callback 71 0x638ed6999248 (nil)
rtpengine | [1721392195.860261] DEBUG: [http] Websocket protocol 'rtpengine-cli' callback 71 0x638ed6999248 (nil)
rtpengine | [1721392195.860266] DEBUG: [http] Websocket protocol 'rtpengine-ng' callback 71 0x638ed6999248 (nil)
rtpengine | [1721392195.860270] DEBUG: [http] Websocket protocol 'rtpengine-ng-plain' callback 71 0x638ed6999248 (nil)


P.S. version of the rtpengine inside the container is: 12.5.0.0+0~mr12.5.0.0 git-master-236ca51a

Richard Fuchs

unread,
Jul 19, 2024, 8:43:07 AM (8 days ago) Jul 19
to rtpe...@googlegroups.com
On 19/07/2024 08.32, Ivan Ribakov wrote:
Hi all, I'm just getting started with rtpengine and as a first task I'm trying to send the "ping" command.

I started by taking "fonoster/rtpengine:0.3.16" Docker image. From the docs I see that the default NG port is 22222 and I when I inspect the config file inside the container I see the following line: 
listen-ng=0.0.0.0:22222

When I try to invoke this curl command however, I get failure to connect:

curl --header "Content-Type: application/x-rtpengine-ng"   --request POST   --data 'foo {"command":"ping"}'   http://127.0.0.1:22222/ng
url: (7) Failed to connect to 127.0.0.1 port 22222 after 0 ms: Couldn't connect to server

Any idea what am I missing here?

The "NG" port is not HTTP. It's a separate UDP-based protocol. You need to look for "listen-http(s)=..."

From the logs it looks like it's on port 8080:

rtpengine | [1721392195.858970] DEBUG: [http] Starting HTTP/WS '0.0.0.0:8080'

There is also a new(ish) `.../ng-plain` URI endpoint which doesn't require the extra cookie and so can be used with just a plain JSON payload.

Cheers

Reply all
Reply to author
Forward
0 new messages