Asterisk func CONNECTEDLINE

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 d3d3b4fe-efabec3-af52da44@192.168.7.82 

* 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: d3d3b4fe-efabec3-af52da44@192.168.7.82
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:5083@192.168.7.64: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

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 d3d3b4fe-efabec3-af52da44@192.168.7.82 

* 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: d3d3b4fe-efabec3-af52da44@192.168.7.82
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:5083@192.168.7.64: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

Created by: lathama, Last modification: Thu 05 of Nov, 2015 (22:55 UTC) by kab00m
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+