Millennium programming

Programming of a Millennium phone is a bit more tricky than other payphones. Technically, it needs the Millennium Manager to be accessible by a modem at any time. It validates credit card calls each time and updates the rates and uploads CDRs (call data records) regularly. There is a way to program it the way it (almost) wouldn't need the Manager anymore, unless there is an unexpected alarm or the call log gets full.

Below is the link to a reverse-engineered Millennium Manager alternative by Howard Harte:
github.com/hharte/mm_manager

It requires a PC runing Windows, Linux, or MacOS X. However, (this is my guess) Linux is the best option due to availability of C compiler and Python. Raspberry Pi should be fine. Compiling the software and putting things together is not trivial though. So for the hobby projects it's much easier to use the demo firmware (which is only available for the older boards, not the SMD type MTR2). Next, you need two phone lines, can be POTS or PBX. VoIP ATA may or may not work (a workaround should work though). System must be able to acceept 1-15 digit number. Also a modem is needed, capable of Bell 212A (1200 bps) standard. Github page describes the process in details.

I'm planning to challenge the modem requirement and contain everything needed in the Raspberry Pi. There is a softmodem module for Asterisk, but it has to be compiled from sources. Github project: https://github.com/InterLinked1/phreakscript/blob/master/apps/app_softmodem.c. However, the challenge is, project does not support Bell 212A standard. It does support ITU-T V.22 though, and worth noticing: