Skip to main content

Call external numbers from my Special Line

Posted by diffen on Wed, 06/09/2010

Hello,

I have an extension registered and a special line connected to it. When i try to dail external numbers i get service unavailable. Im using asterisk 1.4.24.1 and thirdlane 6.0.1.81. Seems like its missing data in the Special line invite.

Here are the sip traffic, the first one is from the special line and the second one is from my extension.

Special Line:
INVITE sip:0890510@sip.domain.com SIP/2.0
Via: SIP/2.0/UDP 1.1.1.1:5060;branch=z9hG4bK07d348be;rport
From: "" ;tag=as4946142e
To:
Contact:
Call-ID: 3dd2c86f538fb9ad32c5a4a170e5c3b0@1.1.1.1
CSeq: 103 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Remote-Party-ID: "" ;privacy=off;screen=no
Authorization: Digest username="ispname.domain.com", realm="domain.com", algorithm=MD5, uri="sip:0890510@sip.domain.com1.1.1.1", nonce="1276065459:4a27d49d88e98868f009825272ec44c2", response="51b6cc56019a8a123944f71b796c4e42", qop=auth, cnonce="3edea139", nc=00000001
Date: Wed, 09 Jun 2010 06:37:39 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Diversion: 0850251527;reason=unconditional
Content-Type: application/sdp
Content-Length: 262

v=0
o=root 25617 25618 IN IP4 1.1.1.1
s=session
c=IN IP4 1.1.1.1
t=0 0
m=audio 18910 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

Extension:
INVITE sip:0890510@sip.domain.com SIP/2.0
Via: SIP/2.0/UDP 1.1.1.1:5060;branch=z9hG4bK37ee2710;rport
From: "0850251526" ;tag=as0a63fd42
To:
Contact:
Call-ID: 4d3d2e83591987b9105f4bcd53e78710@1.1.1.1
CSeq: 103 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Remote-Party-ID: "0850251526" ;privacy=off;screen=no
Authorization: Digest username="ispname.domain.com", realm="domain.com", algorithm=MD5, uri="sip:0890510@sip.domain.com", nonce="1276065563:0bb8401d9792b6e96292c43920284236", response="262607d1c8e56a89f052fae6d05f9348", qop=auth, cnonce="4b65c912", nc=00000001
Date: Wed, 09 Jun 2010 06:39:23 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Diversion: 0850251527;reason=unconditional
Content-Type: application/sdp
Content-Length: 262

v=0
o=root 25617 25618 IN IP4 1.1.1.1
s=session
c=IN IP4 1.1.1.1ispname.domain.com
t=0 0
m=audio 19688 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv1.1.1.1


Submitted by eeman on Wed, 06/09/2010 Permalink

why did you not set the default callerid of the tenant?

your from header is empty, your remote party id header is empty.

no callerid = no call in most systems.

Submitted by diffen on Wed, 06/09/2010 Permalink

Hello Erik,

You are correct as always :)

New stupid question, how do i get the callerid to be dynamic? I dont want to use the same outgoing number for all users that have a special line.

Submitted by eeman on Wed, 06/09/2010 Permalink

why are they special lines instead of extensions? The information that specifies that you can override the default callerid is done in the ASTDB and is set for user extensions hence why it asks you all of that information.

a Special line that did all of that would be called ... wait for it... a user extension.

Special lines are perfect for ATA's that provide dialtone to a fax machine or maybe the front lobby phone.

Submitted by diffen on Wed, 06/09/2010 Permalink

I have a extension with a linksys registered to it and i wanted to test a x-lite from my computer. Thats why i was trying the special lines.

Submitted by eeman on Wed, 06/09/2010 Permalink

it might just be easier for you to make another user extension.. dont give it vm, change the internal callerid to the original user extension, and set the external callerid to whatever you want...

then go back to userextension-A and change its script to tl-multidevice-exten

special lines are great but extenuating specific needs are what the user extension was created for.

Submitted by Dougster on Fri, 03/24/2017 Permalink

Digging up an old post. Looking at the special lines, the setup contains a field for caller ID and callerid name, but it seems that no matter what we set in these, the default for the tenant is used. (The tenant is allowed to set their own callerid). Anyone have any ideas how to make these work.

We are using special lines for softphones that users twin to their multi-device extension .

Submitted by thirdlane on Fri, 03/24/2017 Permalink

I will check, but i thinks that setting caller id on special lines is not supported and we should just remove it from the UI to avoid confusion

Submitted by netriplex on Mon, 03/27/2017 Permalink

Doug,

This may be an asterisk thing combined with the softphone and the way is delivers data...

Try setting trustrpid=no in the special line options with the other settings you mentioned.

Submitted by eeman on Tue, 04/11/2017 Permalink

Doug. PLEASE STOP RESURRECTING 10 year old posts! Please just make a new post. The answers from 10 years ago and 100% NOT relevant to anything in production now. An overwhelming number of those posts are posts that I had replied to and its making it difficult for me to stay on the forums with notifications about remarks 10yrs ago.

Alex, DO NOT REMOVE the callerid fields from special lines. Otherwise the call made from the special line to an internal device will have NO CallerID.

Doug, the purpose of the Callerid fields in special lines is to populate the entry in sip.conf and has nothing to do with dialplan. Special Lines are a mechanism to make sip.conf entries _exclusively_ as opposed to 'user extensions' that make multiple entries into multiple systems like extensions.conf, sip.conf, voicemail.conf, etc etc.

special Lines = sip.conf entries
special mailboxes = voicemail.conf entries
feature codes = extensions.conf entries

if extension 520 needs a second phone to ring when you dial 520, then the proper way to to this is by using Special Lines.

single-tenant example
1. create a special line 520a (SIP/520a)
2. set callerid of 520a to 520 and the name of the person
3. go into User Extensions for 520 and change the script to tl-multidev-exten
4. select 520a as the other device to ring

when 520a calls someone internally the callerid will correctly show 520 so that the recipient can return the call. There is no way to return a call to 520a as there is no dialplan for 520a nor is 520a capable of being dialed from a telephone.

If you need to use special lines for a different device AND that device needs to have a PSTN callerid number for outbound calling then you will have to create a new outbound route using the '-passthrough' scripts. Your callerid IS being set to what you told it to, however regular dial-trunk scripts also determine the extension settings based on the Channel ID of the sip channel. There is no table of data specific to 520a. Special Lines do not get these settings, thats what User Extensions are for. Special Lines are only for having a GUI to put manual entries into sip.conf for ancillary devices, not an end-run around thirdlane licensing, which would likely happen if they were given all the same tools as a user extension. A door intercom, panic button, ATA, Paging amplifier, etc, is primarily the purpose of special lines. They also work great as a second phone on an extension, hence why you need to set the callerid.

This leaves you 3 choices

1. deal with default callerid
2. special code the device to always prepent some digit(s) to whatever is dialed and modify outbound routes to use passthrough for that pattern
3. use a User Extension for this device instead of a special line.

99.999% of the time option 1 is perfectly acceptable to someone needing a second device for their phone. For the 0.001% with that PITA special request, they'll just have to eat the cost of another licensed seat to do that.
Option 2 is a no-cost alternative but is a terrible solution if you also need to make internal calls because the recipient is going to see the PSTN number, not the inside extension.