AT COMMAND issues using SIM808 board with Arduino Mega

Hi @all,
Please I have been trying out a code recently using SIM808 board with Arduino Mega/Uno.

SIM808 doesn't seem to support USSD when I checked using the AT command: "AT+CUSD=1,232#,0"
So I tried using my code like __"ATD
79900xxx#;"__. Where xxx is about 45 digits.
However, whenever I tried dialing this code, it gives error whenever xxx reaches 32 digits.

For clarity,

ATD799991234567890# //this works!!!
ATD
7999912345678901234567890# //this works!!!
ATD799991234567890123456789012345678901# //this works!!!
ATD
799991234567890123456789012345678901123456789# //THIS DOESN'T WORK!!!
ATD79999*28346877970979863469070981979863878792380# //THIS DOESN'T WORK!!!

Is the limitation from the SIM board memory or AT command? SIM808 AT command documentation states: ATD[][;]. Is the length of limited? The problem is possibly not my SIM card because I have tested with the same SIM card on my phone and it works! My phone takes up to 42 digits and my tablet up to 140 digits.

Please help guys.
Thanks 'yall!