Woody Home Page
AR168M VoIP Module High Level UI Protocols
March 29, 2008
With the release of recent 0.30 software, our AR168M VoIP Module is fully ready in both hardware and software. We can ship it in small quantity now.
To test the module, we have used an external 8051 controller to work with the module to build a complete IP phone reference design. The 8051 hardware schematics is available with all other standard AR1688 hardware designs. And the software is open source too, located in SDCC\mcs51, and is also compiled with SDCC. Software API users can use the same SDCC\bin\sdcc.exe to compile both the AR1688 software and 8051 software.
To complete the 8051 based IP phone reference design, we have to define high level UI protocols over the original UART implementations. The well organized 8051 source code is a good point to start with this article, most of the detail UI handling is located in SDCC\mcs51\ui.c.
Welcome to comment and make changes, we are open for all suggestions.
Updated on Dec 18, 2011
Although our VoIP module UI protocols were just for demo purpose at the beginning, they are actually being used in multiple real products now. Last week a Chinese user asked us to add a "logon ok" status indication by UART. He told us that he only used the standard AR168M software. So I added status report command STAT in our demo protocols yesterday.
Updated on Sep 12, 2012
Recently we received a customer's request to add text exchanging function in our RoIP software. So we added the 7th "TEXT" command in our demo protocols.

Comments for this page:

michaelnasief@yahoo.composted on 2010-12-18 23:00:45
hi all

i am just want to know the signaling and the algorithms to establish a call using the ar168m module not as software example only but as flow sequence so i can understand the software

thank you

Woodyposted on 2010-12-19 22:42:23
I am afraid that all our document is on web and we do not have what you
need, the only and best way is to check the software source code.

michaelnasief@yahoo.composted on 2010-12-19 23:47:54
thank woody for your reply
i am downloaded the software and i am working on it now
but many question i have ..

1- is the AR168M module generates the ring signal .. dial tone ..

2- also can it directly interfaced to AT89c51 with 5 volt supply using UART or it will damage the module

3- when the module connected to the power supply what the testing must be done to know the good functionality

4- what is the default ip address of the module since when it powered up i connected it using cross cable to my pc and try to ping it using the usual local network ip addresses (192.168.1.xx) but no reply although the network was connected at 10 M.

thanks for your concern

Woodyposted on 2010-12-20 22:07:40
1) AR168M generates the ring signal and dial tone, but need external audio power amplifier to drive the speaker.
2) You can connect the 5V UART signal to AR168M directly.
3) You can try to browse the web page of the AR168M to see if the AR168M is working.
4) You should connect to a LAN with DHCP server, because the default setting of AR168M is to get IP address from DHCP server. If you hope to assign the AR168M with a static IP address, you need re-configure the AR168M via http.

michaelnasief@yahoo.composted on 2010-12-26 10:11:56
Hi woody

the communication between the module and PC via dhcp works correcrly now

i am able to make a call from pc program like 3cx to the module and hearing the ring on external amplifier and ringing back in the pc -- just i need to :

1- send hook command to the module via serial port uart when a call is coming.

2- send hook command and the number pressed by the user to make a call..

now >> i am reading the 8051 software example many times .. and in the FAQ you have said to some one

"the 8051 example is to build an IP phone using 8051+AR168M, in which 8051 handles the keypad and LCD. In the example, when hook is up or down, AR168M will send message to 8051 indicate the changes, but 8051 can not send command to request a hook operation.
I suggest that you read SDCC\src\serial.c, to understand the basics of UART data send and receive, and design UART communication protocol of your own application, IP phone is not a good example "

but i understood also that key z00000 make the hook operation -- and this is also from

" Key, format "KEY x", where 'x' comes from mcs51\hook.c and mcs51\key.c, indicate a key or a hook event occurs on 8051 side and send it to handle in AR1688 function.c function UI_HandleKeys() "

can you kindly simplify this problem to me -- since the serial.c is appear to be complicated for me since i making my code using mikrobasic not c programming

thanks for your great efforts every time and happy new year

michael nasief

Woodyposted on 2010-12-26 22:04:42
The FAQ was wrong, thanks for point it out. Happy new year.

More options? Please login or register account. metropolitan-tundra