[jitsi-dev] [jitsi-videobridge] REST PATCH to update payload information hangs (#87)


#1

Hi,

I am trying to use the videobride and when I set the fingerprint it seems to hang and the rest connection times out. There is no error/log output on the videobridge.

When I do a get on the same URI that mostly works.

Thank you,
Florian

PATCH /colibri/conferences/18fdda51d63305d8 HTTP/1.1
Host: localhost:8080
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: e154d52c-dee5-9f0b-960c-ece9ab658493

{
  "contents":[
    {
      "name":"audio",
      "channels":[
        {
          "id":"4501729186d829a0",
          "transport":{
            "fingerprints":[
              {
                "fingerprint":"A7:A3:E6:8F:17:E5:50:E6:F5:58:5A:B7:30:FE:9B:E6:37:4D:A0:63",
                "hash":"sha-1"
              }
            ]
          }
        }
      ]
    }
  ]
}

GET /colibri/conferences/18fdda51d63305d8 HTTP/1.1
Host: localhost:8080
Content-Type: application/json

{
    "contents": [
        {
            "channels": [
                {
                    "sources": [
                        1841335812
                    ],
                    "rtp-level-relay-type": "translator",
                    "expire": 240,
                    "initiator": true,
                    "id": "4501729186d829a0",
                    "transport": {
                        "candidates": [
                            {
                                "generation": 0,
                                "component": 1,
                                "protocol": "udp",
                                "port": 10012,
                                "ip": "10.33.38.154",
                                "foundation": "1",
                                "id": "18fdda51d63305d81d14f01c684099a4063f6c40f",
                                "priority": 2130706431,
                                "type": "host",
                                "network": 0
                            },
                            {
                                "generation": 0,
                                "component": 2,
                                "protocol": "udp",
                                "port": 10013,
                                "ip": "10.33.38.154",
                                "foundation": "1",
                                "id": "18fdda51d63305d81d14f01c684099a4010b214e6",
                                "priority": 2130706430,
                                "type": "host",
                                "network": 0
                            }
                        ],
                        "xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
                        "ufrag": "1idlp19v220c2e",
                        "pwd": "3cnibjc6q6o9l7obni2p50fq6t",
                        "fingerprints": [
                            {
                                "fingerprint": "FE:75:6C:32:84:BC:3E:B6:9C:B9:A6:92:B6:BC:15:F8:33:1C:BE:A2",
                                "hash": "sha-1"
                            }
                        ]
                    },
                    "direction": "sendrecv"
                }
            ],
            "name": "audio"
        },
        {
            "channels": [
                {
                    "sources": [
                        2240213590
                    ],
                    "rtp-level-relay-type": "translator",
                    "expire": 240,
                    "initiator": true,
                    "id": "69eb244c3727a57a",
                    "transport": {
                        "candidates": [
                            {
                                "generation": 0,
                                "component": 1,
                                "protocol": "udp",
                                "port": 10014,
                                "ip": "10.33.38.154",
                                "foundation": "1",
                                "id": "18fdda51d63305d832c1e8ba6e2075d6078c9ec61",
                                "priority": 2130706431,
                                "type": "host",
                                "network": 0
                            },
                            {
                                "generation": 0,
                                "component": 2,
                                "protocol": "udp",
                                "port": 10015,
                                "ip": "10.33.38.154",
                                "foundation": "1",
                                "id": "18fdda51d63305d832c1e8ba6e2075d604799e72d",
                                "priority": 2130706430,
                                "type": "host",
                                "network": 0
                            }
                        ],
                        "xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
                        "ufrag": "dg9qd19v220c3q",
                        "pwd": "o89pv65l7j69k3834rnjjb64v",
                        "fingerprints": [
                            {
                                "fingerprint": "76:7B:E0:F5:F7:F0:9F:EE:28:3D:A2:0D:27:D7:DA:52:A3:74:E1:BE",
                                "hash": "sha-1"
                            }
                        ]
                    },
                    "direction": "sendrecv"
                }
            ],
            "name": "video"
        }
    ],
    "id": "18fdda51d63305d8"
}
```

<details class='elided'>
<summary title='Show trimmed content'>&#183;&#183;&#183;</summary>

\-\-\-
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/issues/87

</details>

#2

Looks like PATCH doesn't even make it past JETTY - so will change to that to PUT on my fork.
jetty 9.2.10

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/issues/87#issuecomment-140164433


#3

i've been running into this for a while as well, some observations i've noticed:

1) i can repro this easily with a short script (attached. it's a python file, so rename it to .py
[jvb_rest_api_debugging.zip](https://github.com/jitsi/jitsi-videobridge/files/151588/jvb_rest_api_debugging.zip)
) with the bridge running on an ubuntu machine on the local network (as well as a machine running coreos on aws)
2) i've been unable to repro it when running the bridge locally on my windows machine
3) i can "unstick" the bridge each time it happens by visiting http://<bridge_ip>:<rest_port>/colibri/conferences
4) i tried the patch [here](https://github.com/jitsi/jitsi-videobridge/pull/151) but was still able to repro the problem

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/issues/87#issuecomment-190342428


#4

the patch [here](https://github.com/jitsi/ice4j/pull/53/files?diff=unified) seems to fix the issue...haven't been able to repro with my script after a few hundred tries.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/issues/87#issuecomment-194078152


#5

Closed #87.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/issues/87#event-587243016


#6

https://github.com/jitsi/ice4j/commit/41ca35476e5aed5cefc6e9f5053e3d26b2d4ff2b activated in https://github.com/jitsi/jitsi-videobridge/commit/4a2395d5c33710b89dbaa7a9a022acedf8ac76fd is supposed to fix this issue. (These are commits into the respective master branches of ice4j and jitsi-videobridge of jitsi/ice4j PR #53 noted by @brianh5 above). I'm closing this issue now since we have feedback that it hasn't been reproduced after the fixes. Please reopen if it occurs again.

···

---
Reply to this email directly or view it on GitHub:
https://github.com/jitsi/jitsi-videobridge/issues/87#issuecomment-195654864