Asterisk 1.6.2 trying to communicate with non-existant exts

I’ve just got to be missing something here. After a long-overdue upgrade from Ast 1.2 and FreePBX 2.5, I’ve rebuilt my server with Ast 1.6.2 and FreePBX 2.8 (and CentOS 5.5). Instead of a dist, I just did a straight CentOS 5.5 install and installed Asterisk (and related) and FreePBX from source.

Everything was working fine. Then, I started farting around with VLANs on my Cisco 1252 AP and my Cisco 7970 phone stopped working. I restored the AP to its original configuration and rebooted everything, but no go. The phone is on the same subnet as the Ast server, and the 1252 shouldn’t have anything to do with it, but a sniff shows that they exchange some “CDP” (Cisco Discovery Protocol) messages.

Anyhow, turning on debugging of SIP inside Ast shows that the server keeps trying to communicate with the two extensions on my phone. The trouble is that it’s not using their correct extension numbers. One extension is 210 and the other is 211. However, Ast keeps trying to talk to them as 3000 and 3073 like so:

[code]—
Retransmitting #3 (no NAT) to 10.0.0.64:5060:
OPTIONS sip:3000@10.0.0.64:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.0.0.74:5060;branch=z9hG4bK389b9f9d;rport
Max-Forwards: 70
From: “Unknown” sip:Unknown@10.0.0.74;tag=as0be8f65b
To: sip:3000@10.0.0.64:5060;transport=udp
Contact: sip:Unknown@10.0.0.74
Call-ID: 40950c4673f6f031311a3a4c158d8126@10.0.0.74
CSeq: 102 OPTIONS
User-Agent: Asterisk PBX 1.6.2.13
Date: Mon, 04 Oct 2010 18:46:05 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Length: 0


Retransmitting #4 (no NAT) to 10.0.0.64:5060:
OPTIONS sip:3073@10.0.0.64:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.0.0.74:5060;branch=z9hG4bK53be7f90;rport
Max-Forwards: 70
From: “Unknown” sip:Unknown@10.0.0.74;tag=as74efb455
To: sip:3073@10.0.0.64:5060;transport=udp
Contact: sip:Unknown@10.0.0.74
Call-ID: 60cac5312bc4e650741159642891add6@10.0.0.74
CSeq: 102 OPTIONS
User-Agent: Asterisk PBX 1.6.2.13
Date: Mon, 04 Oct 2010 18:46:05 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Length: 0

—[/code]
It just does this over and over again. The phone boots up and gets its (correctly formatted) config file from the TFTP server, and then just hangs at “Configuring IP”.

A real head-scratcher is that the config files don’t have these extensions anywhere to be found, for example:

[root@phoneserver asterisk]# grep 3073 *conf [root@phoneserver asterisk]#

A grep of one of the real extensions shows tons:

[root@phoneserver asterisk]# grep 210 *conf extensions_additional.conf:exten => 600,n,Macro(record-enable,210-220-202-240,${RecordMethod}) extensions_additional.conf:exten => 600,n(DIALGRP),Macro(dial,20,m(default)t,210-220-202-240) extensions_additional.conf:exten => 2,n,Goto(ext-local,vmu210,1) extensions_additional.conf:exten => t,n,Goto(ext-local,vmu210,1) extensions_additional.conf:exten => 2,n,Goto(ext-local,vmu210,1) extensions_additional.conf:exten => t,n,Goto(ext-local,vmu210,1) extensions_additional.conf:exten => 210,1,Set(RingGroupMethod=none) extensions_additional.conf:exten => 210,n,Macro(record-enable,210,IN) extensions_additional.conf:exten => 210,n,Macro(dial-one,,${DIAL_OPTIONS},210) extensions_additional.conf:exten => 210,n,Hangup extensions_additional.conf:exten => **210,1,Pickup(210&210@ext-local&210@from-internal&210@from-internal-xfer&210@from-did-direct&LC-210@from-internal&LC-210@from-internal-xfer&FMPR-210@from-internal&FMPR-210@from-internal-xfer&FMPR-210@from-did-direct&600@from-internal&600@from-internal-xfer&600@ext-group) extensions_additional.conf:exten => **210,n,Hangup extensions_additional.conf:exten => 210,1,Macro(exten-vm,210,210) extensions_additional.conf:exten => 210,n,Goto(vmret,1) extensions_additional.conf:exten => 210,hint,SIP/210 extensions_additional.conf:exten => ${VM_PREFIX}210,1,Macro(vm,210,DIRECTDIAL,${IVR_RETVM}) extensions_additional.conf:exten => ${VM_PREFIX}210,n,Goto(vmret,1) extensions_additional.conf:exten => vmb210,1,Macro(vm,210,BUSY,${IVR_RETVM}) extensions_additional.conf:exten => vmb210,n,Goto(vmret,1) extensions_additional.conf:exten => vmu210,1,Macro(vm,210,NOANSWER,${IVR_RETVM}) extensions_additional.conf:exten => vmu210,n,Goto(vmret,1) extensions_additional.conf:exten => vms210,1,Macro(vm,210,NOMESSAGE,${IVR_RETVM}) extensions_additional.conf:exten => vms210,n,Goto(vmret,1) extensions_additional.conf:exten => office,1,Goto(from-internal,210,1) extensions_additional.conf:exten => 210,1,ExecIf($["${BLKVM_OVERRIDE}" != ""]?Noop(Deleting: ${BLKVM_OVERRIDE}: ${DB_DELETE(${BLKVM_OVERRIDE})})) extensions_additional.conf:exten => 210,n,Set(__NODEST=) extensions_additional.conf:exten => 210,n,Goto(from-did-direct,210,1) extensions_additional.conf:exten => ${VM_PREFIX}210,1,ExecIf($["${BLKVM_OVERRIDE}" != ""]?Noop(Deleting: ${BLKVM_OVERRIDE}: ${DB_DELETE(${BLKVM_OVERRIDE})})) extensions_additional.conf:exten => ${VM_PREFIX}210,n,Set(__NODEST=) extensions_additional.conf:exten => ${VM_PREFIX}210,n,Macro(vm,210,DIRECTDIAL,${IVR_RETVM}) extensions_additional.conf:exten => ${VM_PREFIX}210,n,GotoIf($["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]?ext-local,vmret,playret) sip_additional.conf:mailbox=210@default sip_additional.conf:[210] sip_additional.conf:dial=SIP/210 sip_additional.conf:mailbox=210@device sip_additional.conf:callerid=device <210> sip_additional.conf:mailbox=210@device voicemail.conf:210 => 9999,Office,xxxxxxxx@hotmail.com,,attach=yes|saycid=yes|envelope=yes|delete=no [root@phoneserver asterisk]#
If anyone has any clue where these phantom extensions came from, ideas would be appreciated.

Thanks,
Jamie

It is trying to communicate with devices, not extensions. Devices are defined in sip.conf, or with GUIs, users.conf, not in extensions.conf.

Fair enough, but I did a grep of *conf, and 3073 is nowhere to be found in any of them.

Please provide sip show users output.

Okay, that’s weird.

phoneserver*CLI> sip show peers Name/username Host Dyn Nat ACL Port Status 202/202 10.0.0.67 D N A 5060 OK (167 ms) 210/3073 (Unspecified) D A 0 UNKNOWN 211/3000 (Unspecified) D A 0 UNKNOWN 220/220 10.0.0.68 D N A 5060 OK (5 ms) 4 sip peers [Monitored: 2 online, 2 offline Unmonitored: 0 online, 0 offline
The “” fields in the xml for my two SIP accounts were 3000 and 3073. That seems to explain it, but, this is the same config I’ve been using on this phone for the last two years, and never before has it attempted to use those instead of the and values. At any rate, with the proper values in the fields, I’m back in business.

Moving on past that, I’ve got more gremlins. I’ve also got a Cisco 7920. Both Cisco phones spew constant CDP messages (by design). However, when the 7970 gets the CDP message from the 7920, it promptly releases its IP address and requests a new one with a 802.1q tag, which my DHCP server promptly ignores. I don’t have smart switches (this is at home). If the 7920 is turned off, the 7970 uses the non VLAN IP just fine.

Anyone know how to either make the 7970 ignore the VLAN part of the CDP message it gets from the 7920 or get the 7920 to stop spewing them? I’ve also got a Cisco 1250 AP, but it’s easy enough to disable CDP on. I suspect it is on the 7920, as well, if you know the secret XML tag for it.

Thanks,
Jamie

Oh, and if anyone has a 7970 and is tempted to download shiny new firmware for it, don’t. After updating to SIP70.9-0-3S, the phone goes through and does everything, but then sticks on “Registering”. A sniff shows that after downloading the config, it never sends another packet to the Ast (TFTP) server.

Anyone have any insight here? I can’t believe that Cisco would release firmware that is completely busted. There must be some secret config that CM does that keeps this from happening.

Downgrading back to SIP70.8-4-1SR1S solved it.