Issue with DPMA and Freepbx 2.11

Hello. I am trying to have digium phones to register on a cloud based Freepbx 2.11 using DPMA 2.10.0.9 (IP 95.138.171.xx), so far unsuccessfully. I can see the phone checking the server on Asterisk CLI, but nothing happens, after a while the phone goes in timeout, and eventually Asterisk prunes the session. See copy of the CLI output below. My impression is that DPMA is replying to my internal IP address (192.168.1.xx) rather than to the public IP of my network (81.133.41.xx)…How can I avoid this? I have no problem registering softphones on the same switch by using standard sip authentication.

Logs

– Executing [[email protected]_message_context:1] Set(“Message/ast_msg_queue”, “MESSAGE(custom_data)=mark_all_outbound”) in new stack
– Executing [[email protected]_message_context:2] Set(“Message/ast_msg_queue”, “MESSAGE_DATA(X-Digium-AppServer-Response-URI)=sip:81.133.41.xx:5060”) in new stack
– Executing [[email protected]_message_context:3] Set(“Message/ast_msg_queue”, “MESSAGE_DATA(X-Digium-AppServer-Response-FullContact)=sip:192.168.1.xx:5060;ob”) in new stack
– Executing [[email protected]_message_context:4] MessageSend(“Message/ast_msg_queue”, “digium_phone:blah”) in new stack
– Executing [[email protected]_message_context:5] Hangup(“Message/ast_msg_queue”, “”) in new stack
== Spawn extension (dpma_message_context, proxy, 5) exited non-zero on ‘Message/ast_msg_queue’
– Executing [[email protected]_message_context:1] Set(“Message/ast_msg_queue”, “MESSAGE(custom_data)=mark_all_outbound”) in new stack
– Executing [[email protected]_message_context:2] Set(“Message/ast_msg_queue”, “TMP_RESPONSE_URI=sip:81.133.41.xx:5060”) in new stack
– Executing [[email protected]_message_context:3] Set(“Message/ast_msg_queue”, “MESSAGE_DATA(Request-URI)=sip:192.168.1.19:5060;ob”) in new stack
– Executing [[email protected]_message_context:4] Set(“Message/ast_msg_queue”, “MESSAGE_DATA(X-Digium-AppServer-Response-URI)=”) in new stack
– Executing [[email protected]_message_context:5] Set(“Message/ast_msg_queue”, “MESSAGE_DATA(X-Digium-AppServer-Response-FullContact)=”) in new stack
– Executing [[email protected]_message_context:6] MessageSend(“Message/ast_msg_queue”, “sip:81.133.41.xx:5060,proxy”) in new stack
– Executing [[email protected]_message_context:7] Hangup(“Message/ast_msg_queue”, “”) in new stack
== Spawn extension (dpma_message_context, digium_phone_module, 7) exited non-zero on ‘Message/ast_msg_queue’
[2013-06-07 19:47:12] NOTICE[3454]: phone_message.c:1228 prune_inactive: Pruning unauthenticated session for device at ‘sip:192.168.1.19:5060;ob’ due to inactivity.

Wow, I removed your public IP from your post. You also need to secure your server. No reason to expose port 80.

You didn’t setup NAT settings. Go into sip settings module and configure your externip and such.

Make sure NAT is on for remote peers.

Thanks for the prompt reply. That was my first guess, but I have an OBI on the same network that is registered no problem, and if I go and check the NAT settings, NAT is set to yes, and the IP is set to Public IP…
Thanks for the hint about the server, we have hardening planned once we have sorted this issue.

My first guess is that the Network that you’re applying for the phone isn’t configured correctly. Have a look at the Networks tab and make sure that everything’s accurate, as per the phone’s perspective.

Hello everyone, thanks for the help. Turned out the problem was the router? Draytek 2750n, wasn’t letting any phone to register properly. We moved to a different network, with a vanilla BT router, and everything worked first attemp. Checked the Draytek, no sip_alg enabled, no weird configuration, worked fine for phones registered directly to providers and the switchbox appliance that is still humming there, went bananas in this case…go figure. Anyway, thanks for the help

Yuck. Thanks for the update.

“Tonight on Nightline, when SIP ALG’s say they’re off, but they really aren’t…”

Now that we have all the phones registered, I need to update the Digitmap, as right now I can make calls only if I dial the number on-hook. Is there any way I can do this via DPMA, without having to edit the conf files one by one? (btw, if I try and edit it on the web console of the phone, I have to reset said phone to factory defaults, as it won’t register anymore, and delete and re-create the entry in DPMA, as it won’t “de-register”, and won’t show up as available when the phone connects back - not sure it’s a bug or per design)

Don’t mix the phone’s web interface with configuration via any other means. It’s off by default once you touch the phone with DPMA for a reason. :

Editing of the digit mapping is handled in your FreePBX extensions editor. See:
https://wiki.asterisk.org/wiki/display/DIGIUM/Digium+Phones+and+FreePBX#DigiumPhonesandFreePBX-DigiumPhonesLineOptions

There was supposed to be a smiley in there to soften that second sentence; not sure where it went.

This was a case of RTFM anyway, so no hurt feelings :slight_smile: Thanks for the help!

Cool :slight_smile:

Turned out the problem was the router? Draytek 2750n, wasn’t letting any phone to register properly.

I had the same issue here with Vigor Draytek 2820 router and a VPN tunnel.

When I Disabled the Call Filter, Data Filter and Srect Security Firewall the Digium Phone configures with DPMA perfectly over the VPN tunnel.

Conclusion: not a router issue but a firewall rule is needed to accept the udp stream over the VPN tunnel.

I hope this helps someone. It took me some thinking.
Regards
Geert