SIP Phone does not ring

How is the device and user linked to one another?
The reason that i ask is we have set up an Asterisk server with a user and a device.
When we make a call we see the connection on the server but the phone never rings.

We are using a SNOM 320 (SIP Phone).

The device (SNOM 320 (SIP Phone) ) is registered on the server using the Device ID and password.

Below is a piece of the incoming call log:

-- Executing Set("Local/4040@from-internal-ec79,2", "RT=") in new stack
-- Executing Macro("Local/4040@from-internal-ec79,2", "record-enable|4040|IN") in new stack
-- Executing GotoIf("Local/4040@from-internal-ec79,2", "0?2:4") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing AGI("Local/4040@from-internal-ec79,2", "recordingcheck|20071031-142157|1193840517.123") in new stack
-- Launched AGI Script /usr/share/asterisk/agi-bin/recordingcheck
-- AGI Script recordingcheck completed, returning 0
-- Executing NoOp("Local/4040@from-internal-ec79,2", "No recording needed") in new stack
-- Executing Macro("Local/4040@from-internal-ec79,2", "dial||trM(auto-blkvm)|4040") in new stack
-- Executing GotoIf("Local/4040@from-internal-ec79,2", "0?dial") in new stack
-- Executing SetMusicOnHold("Local/4040@from-internal-ec79,2", "none") in new stack
-- Executing AGI("Local/4040@from-internal-ec79,2", "dialparties.agi") in new stack
-- Launched AGI Script /usr/share/asterisk/agi-bin/dialparties.agi
-- AGI Script dialparties.agi completed, returning 0
-- Executing NoOp("Local/4040@from-internal-ec79,2", "Returned from dialparties with no extensions to call and DIALSTATUS: ") in new stack
-- Executing Set("Local/4040@from-internal-ec79,2", "SV_DIALSTATUS=") in new stack
-- Executing GosubIf("Local/4040@from-internal-ec79,2", "0?docfu|1") in new stack
-- Executing GosubIf("Local/4040@from-internal-ec79,2", "0?docfb|1") in new stack
-- Executing Set("Local/4040@from-internal-ec79,2", "DIALSTATUS=") in new stack
-- Executing NoOp("Local/4040@from-internal-ec79,2", "Voicemail is novm") in new stack
-- Executing GotoIf("Local/4040@from-internal-ec79,2", "1?s-|1") in new stack
-- Goto (macro-exten-vm,s-,1)
-- Executing PlayTones("Local/4040@from-internal-ec79,2", "congestion") in new stack
-- Executing Congestion("Local/4040@from-internal-ec79,2", "10") in new stack
-- Local/4040@from-internal-ec79,1 is circuit-busy

== Spawn extension (macro-exten-vm, s-, 2) exited non-zero on ‘Local/4040@from-internal-ec79,2’ in macro ‘exten-vm’
== Spawn extension (macro-exten-vm, s-, 2) exited non-zero on ‘Local/4040@from-internal-ec79,2’
– Called Local/4040@from-internal/n

The device and “user”, or extension as it is more commonly referred to, can be linked (or registered) in a couple of different ways. You could assign the phone a static IP address and tell Asterisk what that IP address is (I think…I’ve never really used this configuration). Otherwise the phone registers with Asterisk by username/secret. I’m not too familiar with SNOM phones, but I know with Grandstream phones the username is actually the extension, then you just make sure the SIP secret that you configured on Asterisk box is the same as the secret you’ve programmed into the phone and the SIP proxy is the IP of your Asterisk box. Once the phone try to contact your Asterisk box and register it’s SIP ID.

There are some nice tutorials concerning configuring hard/soft phones here:

http://www.asteriskguru.com/tutorials/asterisk_voip_ipphone.html

And I think I even saw a couple of examples with SNOM phones on there.

Hope this helps,
Dan

danwagoner: “device and user” mode is a different mode within freepbx, where it separates the devices (phones) from the users (people, or dialable extension numbers). FreePBX actually always operates like this, but in “extensions” mode the GUI is altered so you’re editing both at the same time. Device and user lets you do things like have two SIP phones assigned to the same extension - it has nothing to do with the phone’s IP address.

tasniemb: FreePBX connects users to the devices in one of two ways, either adhoc or fixed. You this up on the device screen, at the bottom it has a dropdown to select a user, or leave it in adhoc mode. Selecting a user makes it fixed, where calling that user’s extension number will ring the device. If it’s in adhoc, the user actually has to log on to the device (logon code is setup in feature codes) before it will ring for them.

I’m a little unsure of what the output you’ve pasted here is - Local/4040 is a weird channel number to see. I’m also not sure if you’re referring to inbound or outbound calls to/from this device…? I’m going to guess though because of the line "Returned from dialparties with no extensions to call and DIALSTATUS: " that you have the device in adhoc mode, and no one logged in. Check that first, and then check if you can make inbound/outbound calls to/from the device.


Greg MacLellan - Core FreePBX Developer
http//freepbx.org - irc.freenode.net #freepbx