     
     var configuration: Configuration { get }
     var handlers: PeerChannelHandlers { get }
+    var clientId: String? { get }
     var streams: [MediaStream] { get }
     var iceCandidates: [ICECandidate] { get }
     var state: PeerChannelState { get }

            switch message {
            case .offer(let offer):
                Logger.debug(type: .peerChannel, message: "receive offer")
                createAndSendAnswerMessage(offer: offer)
                
            default:

            stream.videoCapturer = CameraVideoCapturer.shared
        }
        channel.addStream(stream)
        Logger.debug(type: .peerChannel,
                     message: "create publisher stream (id: \(pubConfig.streamId))")
    }
    
    func createAndSendAnswerMessage(offer: SignalingOfferMessage) {
