You should take a look at
pc1 demo source. Basically when you call createOffer api, you get a callback with sessiondescription. For e,g, In below code gotdescription1 is the callback function & desc.sdp is the sdp that you can modify before calling SetLocalDescription.:-
function gotDescription1(desc){
pc1.setLocalDescription(desc);
trace("Offer from pc1 \n" + desc.sdp);
pc2.setRemoteDescription(desc);
// Since the "remote" side has no media stream we need
// to pass in the right constraints in order for it to
// accept the incoming offer of audio and video.
pc2.createAnswer(gotDescription2, null, sdpConstraints);
}
/Vikas