Anybody have any experience with Sangoma/Sip Refer?

67 views
Skip to first unread message

Rick C

unread,
Nov 21, 2017, 12:01:24 PM11/21/17
to sipxcom-users
Been having some trouble with getting call transfers to work over my SIP Trunk. We have external SIP Trunks with ATT and our internal trunk as OpenUC (we're on 17.04). 

I've tried adding the SIP Refer handing plan listed here - https://wiki.freepbx.org/display/SBC/SIP+Refer+Handling


But no luck with transfers so far. After adding the rule the call drops with a 481 Call Leg/Transaction does not exist (before, transfers would just loop back to the user). PCAP and plan attached, if anyone has any thoughts let me know, I'm hoping its something easy like a mistake in my routing rule. Thanks!
inbound.JPG
prot-capture-2017-11-21-08-55-07.zip

pmkr...@gmail.com

unread,
Nov 21, 2017, 1:43:32 PM11/21/17
to sipxcom-users
Hi Rick,

These links may help you if you haven't already come across them:
http://wiki.sipxcom.org/pages/viewpage.action?pageId=38437114
https://wiki.sangoma.com/display/SBC/SIP+Refer+Handling

All the best
Peter

Rick C

unread,
Nov 21, 2017, 5:13:10 PM11/21/17
to sipxcom-users
Thanks for the info. I've actually already referenced the Sangoma page and setup the dial plan as indicated. Unfortuantely I get a 481 Call Leg/Transaction does not exist error and I'm not quite sure where I'm going wrong. Also get an "Error creating handle" notification from the Sangoma. 

pmkr...@gmail.com

unread,
Nov 21, 2017, 8:47:31 PM11/21/17
to sipxcom-users
Hi Rick - thanks for the response. I looked briefly at the pcap, and you are trying to transfer the active call from 8217 to 8200, but you have no rule in the SBC call routing plan that directs the invite down the correct trunk. Try inserting something like this into your routing plan:

  • IF MATCH Condition(All,Standard Information[Destination Address] = ^(8\d{3})$) THEN
  • AND Stop On Success

Without this, the SBC doesn't issue the INVITE to the correct endpoint, so terminates the call. The '481 call leg/transaction does not exist' message is the result of the BYE issued by the SBC.

Your need to tell the routing plan that *8xxx' extensions live on this SIP trunk.

Hope this helps.

All the best
Peter

tec...@gmail.com

unread,
Nov 21, 2017, 9:48:30 PM11/21/17
to sipxcom-users
Thanks, that makes sense. Much appreciated!

If you don't mind me asking, do you know offhand a regex that would capture any four digit number? The one I'd tried transferring to happened to be 8200 but our internal extensions aren't all 8xxx (though they're all 4-digit). Ideally I'd like any transfer to a 4-digit number to go to OpenUC. 

pmkr...@gmail.com

unread,
Nov 22, 2017, 12:40:13 AM11/22/17
to sipxcom-users
Hi Rick, try something like this:

IF MATCH Condition(All,Standard Information[Destination Address] = ^([0-9]\d{3})$) THEN

Bridge to Trunk[OpenUC]={REFER-TO}@172.22.101.70:5060
AND Stop On Success

There are several regex tester web sites on the Internet that can validate your dialplan.

Hope all works out!

All the best
Peter

Rick C

unread,
Nov 22, 2017, 11:55:13 AM11/22/17
to sipxcom-users
Thanks Peter, looks like your suggestion worked!

I'm still checking with Sangoma to see if there's a cleaner solution, but I'm glad to say transfers now work for incoming calls from the SIP Trunk. 
Reply all
Reply to author
Forward
0 new messages