On my current project we needed to send a SIP INFO message from SIP server. Before I forget here is how it can be done:

- Assign SIP INFO body to a variable:

- Assign extensions attributes:
Cat[‘extensions.Content-Type:application/vnd.etsi.sci+xml|extensions.Content-Disposition:render;handling=optional|extensions.Body:’,vBody]

- Send a private service request. Note that 105 is the ID of AttributePrivateMsgID and 3018 is the message ID for Advice of Charge (AoC). For reference other known values of AttributePrivateMsgID are:
3013 (GSIP_RECORD_START) – Starts GQM recording
3014 (GSIP_RECORD_STOP) – Stops a GQM recording
3015 (GSIP_RECORD_PAUSE ) – Pauses a GQM recording
3016 (GSIP_RECORD_RESUME ) Resumes a GQM recording
4012 – Start of Customer Greeting (See SIPS option greeting-notification)
4013 – End of Customer Greeting
SendRequest[RequestPrivateService,Cat[‘thisdn:’,Dest[],’|connid:’,ConnID[],’|105:3018|’,vExtensions]]

- Test it – SIP INFO sent with supplied body:
13:59:12.608 Trc 04541 RequestPrivateService received from [17] (00000004 URS_1 192.168.1.11:44124)
message RequestPrivateService
AttributeThisDN ‘0150’
AttributeConnID 00890237bba2601a
AttributeReferenceID 259
AttributeExtensions [124] 00 03 00 00..
‘Content-Type’ ‘application/vnd.etsi.sci+xml’
‘Content-Disposition’ ‘render;handling=optional’
‘Body’ ‘varData=998000000000’
AttributePrivateMsgID 3018
13:59:12.608 Int 04543 Interaction message “RequestPrivateService” received from 17 (“URS_1”)
13:59:12.608 — created: CRequest@2aaaac041f20 RequestPrivateService-URS_1[17]/259
13:59:12.608: $+TLIB:CTI:Unknown:0:0
13:59:12.608 +++ CIFace::Request +++
— new invoke
— thisCall by party
Parsed: RequestPrivateService
From: URS_1[17]/259
Numbers: +<0150> -<none>
Calls: 2aaaac035d30:1 none
Parties: 0150.2aaaac042260-2aaaac035d30:1
none
Status: parsed:1 queued:0 sent:0 acked:0 preevent:0 event:0 context:0 transferred:0
—–
— validate
— state check: ok
CIFace: Sent CRequest@2aaaac041f20 RequestPrivateService-URS_1[17]/259
FinishRequest CRequest@2aaaac041f20 RequestPrivateService-URS_1[17]/259
IFace stats: q=0 s=0
— complete
13:59:12.608: SipTServer::PrivateServiceAdviceOfCharge get destination from otherParty: 3001
13:59:12.608: SIPTR(11): Begin step 0 – SipTransactionExecuteCtiRequest(12)
13:59:12.608 SIPCONN(3001): CtiRequest(9)
13:59:12.608: SIPDLG[4]: register TRN[11]
13:59:12.608: Sending [19,TCP] 570 bytes to 192.168.1.11:5060 >>>>>
INFO sip:gw+Genesys@192.168.1.11:5060;tport=tcp;transport=tcp;gw=Genesys SIP/2.0
From: <sip:4100@192.168.1.11:5360>;tag=00383D6C-79FE-1287-BB5F-0B01A8C0AA77-3
To: “3001 on FS” <sip:3001@192.168.1.11>;tag=SQN3c6629UBNj
Call-ID: 189d697d-c96a-1231-5ea1-e091536f4cb1
CSeq: 2 INFO
Content-Length: 20
Content-Type: application/vnd.etsi.sci+xml
Via: SIP/2.0/TCP 192.168.1.11:5360;branch=z9hG4bK00383D8A-79FE-1287-BB5F-0B01A8C0AA77-8
Contact: <sip:192.168.1.11:5360;transport=tcp>
Content-Disposition: render;handling=optional
Max-Forwards: 68
varData=998000000000