Upgrade 3CX to v18 and get it hosted free!

Asterisk func CONNECTEDLINE

Author image

Connectedline is a name to describe the aspects of the common feature called RPID or remote party id. The idea is that a user can dial a number and the display on the users phone is updated during the call with the information about the called party. This is also described as reverse caller id. Regardless this feature has become complicated. The features in Asterisk 1.8 include sharing this calling information with many protocols and interfaces like DAHDI, IAX2, SIP, etc…

From the 1.8 CLI you can type “core show function connectedline” to get more information

Copied from the output:

CONNECTEDLINE(datatype[,i])

datatype: all, name, name-valid, name-charset, name-pres, num, num-valid, num-plan, num-pres, subaddr, subaddr-valid, subaddr-type, subaddr-odd, tag

i: If set, this will prevent the channel from sending out protocol messages because of the value being set

Emulate a typical ‘key’ system ie. on the callers phone, display the name (from sip.conf) of the person they are calling. This works on Asterisk 1.8.0.

exten => _1xx,1,Set(CONNECTEDLINE(number,i)=${EXTEN})
exten => _1xx,n,Set(rclidname=${SIPPEER(${EXTEN},callerid_name)})
exten => _1xx,n,NoOp(${rclidname})
exten => _1xx,n,Set(CONNECTEDLINE(name,i)=${rclidname})
exten => _1xx,n,Set(CONNECTEDLINE(pres)=allowed)
exten => _1xx,n,Dial(SIP/${EXTEN},26,rtk)

Asterisk 1.8.0 will do the above, but only display the name of the called person, on the callers phone, *after* the called person has picked up. Tested on Polycom 320 and 650.

Special treatment for Cisco phones (tested on 9.x firmware 794x and 8941):
1. Called Cisco *always* update caller with its properties *before* pickup.
2. Caller Cisco will be updated if <remotePartyID> tag set to true.
3. If you want caller be updated *before* pickup – insert Progress() before Dial(). (tested on Asterisk 11 and 13)

Also works on the Polycom 550, and it shows you the name of the called person, on the callers phone, *before* the called person picks up. This is with “sendrpid=yes” set in sip.conf. Here’s history of such a call:

vaj*CLI> sip show history [email protected] 

* SIP Call
1. Rx              INVITE / 1 INVITE / sip:5083@vaj
2. AuthChal        Auth challenge sent for  - nc 0
3. TxRespRel       SIP/2.0 / 1 INVITE - 401 Unauthorized
4. SchedDestroy    32000 ms
5. Rx              ACK / 1 ACK / sip:5083@vaj
6. Rx              INVITE / 2 INVITE / sip:5083@vaj
7. CancelDestroy   
8. Invite          New call: [email protected]
9. AuthOK          Auth challenge successful for 5082
10. NewChan         Channel SIP/5082-00000053 - from d3d3b4fe-efabec3-af52da44@192.
11. TxResp          SIP/2.0 / 2 INVITE - 100 Trying
12. ConnectedLine   Called party is now x5083x <5083>
13. TxResp          SIP/2.0 / 2 INVITE - 180 Ringing
14. TxResp          SIP/2.0 / 2 INVITE - 180 Ringing
15. ConnectedLine   Called party is now x5083x <5083>
16. TxRespRel       SIP/2.0 / 2 INVITE - 200 OK
17. Rx              ACK / 2 ACK / sip:[email protected]:5060

Does not work on Grandstream.
If used with a mitel SIP trunk, you’ll need to set sendrpid=pai in your sip.conf for that particular trunk

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.