For the MobileWonderGate software, NTT DoCoMo operated network servers for handling URL requests:
These servers listened on TCP port 5555 for request packets in the following format, and issued a response in the same format.
Pages accessed via the mopera network server reported themselves as
Mozilla/3.0 (compatible; InfoBridge-mopera 1.1.1; Linux), as opposed to the browser's own
Every packet sent from and to the server follows the same format: a global header, followed by an arbitrary number of blocks with their respective headers.
|0x00||1||Unknown, always 0x01|
|0x01||1||Header size in bytes, always 0x18|
|0x02||2||Request type/Browser configuration:
ee?i ?s?w ???? ??p? || | | | +- POST request || | | +---------- Width: 0 = 1-screen, 1 = 2-screen || | +------------ Image size: 0 = 50%, 1 = 100% || +--------------- Images: 0 = enabled, 1 = disabled ++----------------- Encoding: 0 = auto, 1 = S-JIS, 2 = EUC
|0x04||4? (>= 2)||Total packet size in bytes, including all headers and blocks|
Blocks typically consist of zero-terminated strings - a final zero appears to be omitted.
|0x00||2||Block size in bytes, including header|
Sending a block with a block size of
0xFFFF and a block type of
0x00 in a response will trigger a multipart block mode, which sends data in portions between a header and footer.
0xFFFF/0x00 preamble has to be included in the total length from the global header, the remainder of the multipart block section does not have to be.
|0x00||1||Number of parts?|
|0x02||2||Length of data, in bytes|
- How does one send an HTTP response through the bridge? This has to be possible, as the bridge had its own distinct user agent.