      */
 }
 
+enum SignalingType: String {
+    case connect
+    case offer
+    case answer
+    case update
+    case candidate
+    case notify
+    case ping
+    case pong
+    case disconnect
+    case push
+}
+
 public enum SignalingSimulcast {
     case low
     case middle

    
    public func encode(to encoder: Encoder) throws {
        var container = encoder.container(keyedBy: CodingKeys.self)
        try container.encode(role, forKey: .role)
        try container.encode(channelId, forKey: .channel_id)
        

extension SignalingConnect: Encodable {
    
    enum CodingKeys: String, CodingKey {
        case type
        case role
        case channel_id
        case metadata
