         }
         
         lock.lock()
-        nativeChannel.createAnswer(forOffer: offer.sdp,
-                                   constraints: webRTCConfiguration.nativeConstraints)
+        createAnswer(initsPublisher: true,
+                offer: offer.sdp,
+                constraints: webRTCConfiguration.nativeConstraints)
         { sdp, error in
             guard error == nil else {
                 Logger.error(type: .peerChannel,

            }
        }
    }
    
    func createAndSendAnswer(offer: SignalingOffer) {
        Logger.debug(type: .peerChannel, message: "try sending answer")
        state = .waitingComplete

        Logger.debug(type: .peerChannel, message: "create and send update-answer")
        lock.lock()
        state = .waitingUpdateComplete
        createAnswer(initsPublisher: false,
                offer: offer,
                constraints: webRTCConfiguration.nativeConstraints)
        { answer, error in
            guard error == nil else {
                Logger.error(type: .peerChannel,
