In the Stratum (v1) protocol, the coinbase transaction is constructed by catenating the fields coinb1, Extranonce1, Extranonce2 and coinb2.
Not all these fields are present in a single message. coinb1 and coinb2 are parameters of the mining.notify notification. Extranonce1 is part of the result to the the mining.subscribe request. Extranonce2 is provided by the client as a parameter to the mining.submit method (it must respect the size specified by the Extranonce2_size field in the result to the mining.subscribe request).
More information about the Stratum (v1) protocol is compiled in this Bitcointalk thread by Con Kolivas.












