Primus, DVG-110, MGCP and Asterisk


#1

I’ve seen some articles about using Primus, the D-Link DVG-1120, MGCP, and Asterisk.

Has anyone actually got this working? Does anyone have any sample configurations?

Please let me know.


#2

I have had a lot of luck with the 1120M that can be had for $65 or so at your local best buy.

Configuring this device for * is pretty straight forward.

  1. Plug your computers LAN to the port labeled ETHERNET on your DLINK 1120. (This is just for initial configuration can be put back afterwards)

  2. Set you computer to auto receive IP and DNS IP from DHCP.

  3. ensure your computer has an address in the 192.168.15.xxx range so that it can communicate with the DLINK (ipconfig in win32 or ifconfig in linux)

  4. Open 192.168.15.1 with your computers web browser

  5. Click login, the advanced in the left column (username and pass are ‘admin’)

  6. In left column under Config IP click Config Call Agent IP Address

  7. Fill in fields with info…

notify entity = asterisk@xxx.xxx.xxx.xxx:2427 (replace xxx with your asterisk boxen IP)

RGW name = set this to the name you gave this device in your asterisk MGCP.conf between the [], more on this later…

SDP IP address NAT = if your dlink is behind a NAT from your asterisk box put your public IP here

some firmware have a spot for DNS this is the DNS ip that the dlink should use to lookup your notify entity incase you dont use an IP there.

  1. Click save

  2. Click XML provisioning in left column

  3. Set to disable and clear url, press save , press continue and restart later, then press clear key, then press save and restart now.

  4. depending on your firmware there may be a telephony configuration option on left. Here you can disable VAD if you like.

  5. On your asterisk box edit /etc/asterisk/mgcp.conf

add something similar to this… replace [dlink] with RGW name you used earlier…

[dlink]
host = dynamic
context = default
accountcode = joe.blo
canreinvite = no
callwaiting=yes
cancallforward=yes
threewaycalling=yes
transfer=yes
;callgroup=1
;pickupgroup=1
callerid=“Joe Blo” <15555555555>
mailbox=9999
line => aaln/1
callerid=“Joe Blo” <15555555555>
mailbox=9999
line => aaln/2

  1. Restart asterisk, Restart dlink, If status light does not go green after warm-up and hearing the click, wait 10 seconds and lift up handset and dial something. The light should go green and you should be talking to asterisk… run asterisk with -vvvc so you can see your mgcp interactively.

HERE ARE MY KNOWN ISSUES

if asterisk box is behind firewall, mgcp clients will not work even with the appropriate ports (2427) are forwarded. This is beacuse asterisk is reporting the IP of the call manager as the local address and not the public IP. This should be fixed with a SDP_IP_NAT setting in mgcp.conf or a externip= setting in mgcp.conf like we have for SIP (Developers???).

If mgcp clients are behind firewall, SDP_IP_NAT must be set to their public IP or they will not receive calls but send them just fine.

If you restart asterisk server MGCP devices that are set to host = dynamic will loose service till they lift their handset. Asterisk has no idea where to contact the mgcp clients on restart. If you use host=xxx.xxx.xxx.xxxx all is well as asterisk can contact the mgcp clients on restart. The only time this issue would arise if is you are using asterisk on a public IP and mgcp clients are with a dynamic public IP. THERE SOULD BE A BETTER WAY TO HANDLE THIS. Anyone (DEVELOPERS???) with any info please chime in.