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