     var internalState: PeerChannelInternalState!
     var signalingChannel: SignalingChannel
     var webRTCConfiguration: WebRTCConfiguration!
+    var clientId: String?
     
     var configuration: Configuration {
         get { return channel.configuration }

    public private(set) var streams: [MediaStream] = []
    public private(set) var iceCandidates: [ICECandidate] = [] // TODO: remove?
    
    public var state: PeerChannelState {
        get {
            switch context.state {

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