Cisco DX-80 and SIP URI Dialing issue


(Glen) #1

Greetings!

FreePBX 15.0.17.12
Asterisk 16.15.1 built by mockbuild @ jenkins7 on a x86_64 running Linux on 2020-12-23 15:37:11 UTC

I’ve gotten my hands on a Cisco DX-80. I really like this unit and have been able to get it registered with FreePBX/asterisk via the Web interface vs. having to write a SEPMAC file like I do for each of my Cisco phones.

The unit is registered at extension 2100 and can make internal and external calls. Great…but not really what you want to do with this unit.

When I try to dial "wbdemo@conf.zipdx.com" or "user@company.webex.com" etc. it fails. I could paste the whole log here but I think this is a problem someone knows the answer to…ultimately the ending errors are:
[2021-01-07 18:33:37] NOTICE [9956]: res_pjsip_session.c : 4007 new_invite : 2100: Call (TCP:192.168.1.12:42659) to extension ‘wbdemo’ rejected because extension not found in context ‘from-internal’.

[2021-01-07 18:33:37] DEBUG [9956]: res_pjsip_session.c : 4007 new_invite : 2100: Call (TCP:192.168.1.12:42659) to extension ‘wbdemo’ rejected because extension not found in context ‘from-internal’.

[2021-01-07 18:33:37] DEBUG [9956]: res_pjsip_session.c : 4479 handle_outgoing_response : 2100: Method is INVITE, Response is 404 Not Found

Thre is a lot of old information on dialing URIs for significantly older versions of asterisk and was hoping to get a quick easy(yeah…right) answer here. I would love to get video SIP working on this unit. I do really like it.

Thanks in advance to anyone that can help!!
Glen


#2

Sorry, I don’t know the answer to your specific question.
For calling ‘foreign’ SIP URIs, I typically set up a Custom Extension with the Dial parameter set to
SIP/wbdemo@conf.zipdx.com
or similar.

Will that work for your application?


#3

You cannot use FreePBX/Asterisk as a SIP proxy to route external SIP URIs that you enter on the Cisco unit.

Either define all the URIs you want to dial as part of your FreePBX dial plan (if feasible), or if you want to be able to freely dial URIs directly from the Cisco, you will need to set up a SIP proxy server or configure it to route directly (without FreePBX in the middle).


(Glen) #4

Stewart1,

Thank you for the response!

I already tried setting a custom extension exactly the way you wrote about. Didn’t work. Thank you for the suggestion!

Glen


(Glen) #5

billsimon,

Thank you for responding!

Ugh…I was afraid of that. Could you elaborate a little on both methods?

Glen


#6

Paste a log of a failing call to wbdemo at pastebin.freepbx.org and post the link here.

Call from a regular extension if that fails, otherwise from the DX.


#7
  1. Either define all the URIs you want to dial as part of your FreePBX dial plan (if feasible)

If you have a limited set of SIP URIs (such as a list of frequently called meeting rooms) then you could set up Custom Extensions as @Stewart1 mentioned above. For PJSIP, this means you need to set “Allow SIP Guests” which enables the anonymous endpoint:

image

and then create Custom Extensions with a dial string like this:

image

(an example SIP URI that calls into a recurring Zoom meeting room)

After you have created each of these using whatever numbering scheme you prefer, you can just dial that number (in the example above, you would just dial 1131) from the Cisco device and FreePBX will route your call to the URI you entered in the extension configuration.

  1. if you want to be able to freely dial URIs directly from the Cisco, you will need to set up a SIP proxy server or configure it to route directly (without FreePBX in the middle).

The issue is that any calls that FreePBX receives are going to be processed by its routing rules/dial plan. If the DX-80 has a setting to allow you to bypass the SIP proxy (FreePBX) for certain calls, you can try that. If not, you will need to use a server that can route a SIP URI as-is without processing it like a PBX. The data sheet mentions VCS as one option (https://www.cisco.com/c/en/us/products/collateral/collaboration-endpoints/webex-desk-series/datasheet-c78-731879.html). Another way would be to set up an open-source SIP proxy like opensips, which is a true proxy and not a PBX. The point of the proxy in this case is to help navigate your network/NAT and get calls out to the internet, so you would locate the proxy in your network’s DMZ area, give it a public IP, etc., so that it can perform that function. Sorry there’s some hand-waving in this answer, but setting up a SIP proxy is a complex topic.


(Glen) #8

Thanks so much for the detailed reply. I did have the extension setup as you describe except I did not have Allow SIP Guests set to yes.

I tried several different sip echo servers etc(and i’ll show my age) but I liked yours best so I copied your dial string verbatim. It rings 1/2 time and disconnects. All echo servers do.

The log file was extensive and pastebin made me break it into 2 parts.


While I don’t love the dedicated extension solution, it seems like it should be quick and easy. Not so much.

Thanks for any help you can supply.
Glen


#9

I tried with 8008675309@zoomcrc.com and also got a disconnect. Is that a valid URI? If so, what should it do?

A SIP trace showed a 180 ringing response, followed immediately by a 480 Temporarily Unavailable.


(Glen) #10

I’m not sure buy try loopback@rtp.ciscotac.net


(Glen) #11

I think i figured some things out but can’t report them until later!


#12

This is what you will get if you make a successful connection:
image

You were probably disconnected because you did not offer video, which Zoom requires for its SIP URIs. (Will be a good test later for @grosen)


#13

Sorry, can’t sort through all those logs. Turn the log level down to something sane. Those AMI events are not useful.


(Glen) #14

Yeah, those logs were huge. I turned everything way down - hopefully not too far and this is use full. I also thought simplifying what we were doing by staying internal before going external might give us a clue as well. I suspect there’s several problems.

What I’ve done here is provide a log of extension 2010(Zoipier soft phone) call extension 2100(DX-80). Both are pjsip internal extensions. Every extension in the system can call the DX-80 and the DX-80 can make internal and external calls through the pstn trunk.

However, the Zoipier softphone connects with audio only. No video. It is setup to offer video on every call. I’ve enabled all of the codecs in asterisk. Maybe there is something in the logs that you can catch.

I took a step back here because I was never able to get connected to Zoom and get the same result as you posted, so my brain went to go back and try something simpler which might point to another problem.

Thank you again for all of the help. I feel like a helpless idiot.
Glen


#15

My experience with Tandberg devices, in my case an EX90 , that without a managing CUCM it will frustrate you. I personally never could get SIP working, good luck and let us know how you fixed it when you do.


#16

We would need to see the SIP. You can get SIP logging with pjsip set logger on and find the SIP logs in your Asterisk log file, or you can install sngrep if it’s not already installed. sngrep gives a nice SIP ladder representation which allows you to examine individual packets. A third option is just to get a packet capture and upload it somewhere convenient.

From the log file you shared, it looks like Zoiper is offering video and DX-80 is ignoring that offer. If the SIP doesn’t reveal the reason why, then you should see if there’s any useful logging on the DX-80 explaining it.


(Glen) #17

OK, I grew a half a brain and did it the right way…I think. See if this makes any sense.
DX-80.tgz (3.7 KB)

I’m still working on the debugging side of the DX-80 to see what information I can find there.

As always, thanks for any help!!
Glen


(Glen) #18

Interestingly, when calling from the DX-80 to the Zoiper it only offers audio…


#19

Pretty strange behavior (to me, at least - maybe it makes sense to others).

image

After the DX-80 answers the call accepting both audio and video (200 OK), it immediately sends an INVITE back, this time with a zero’ed out video m= attribute (meaning it is now rejecting video).

I think the answer is within the DX-80’s settings, also since you have observed that when the DX-80 initiates it only offers audio.


#20

It can do video over a h323 channel but I don’t believe that asterisk supports video over H323 , add a CCM to do the transcoding and it seems to do video over SIP.