Well fixed the issue by changing the API itself. In channel.java class added additional if condition and increased the size if its less than required. Hope this helps other but I would still like to know if there is any configuration at OS or server level to fix this. Code below is the modified version.
if (msg.getChannelDataLength() > localWindow.getWindowSpace()) {
// Increase the window space as needed and see what happens
long lDifference = msg.getChannelDataLength() - localWindow.getWindowSpace();
localWindow.increaseWindowSpace(lDifference+1);
if ( msg.getChannelDataLength() > localWindow.getWindowSpace() ) {