## For more information about scenarios, please refer to the Programmer's Guide

# user's parameters (like ANSI-C #define)
%%domain micromethod.com
%%user mamadou
%%pwd mamadou
%%proxy_ip 192.168.16.104 # IP address or FQDN
%%proxy_port 5060
%%proxy_trans udp # udp, tcp, tls or sctp
%%expires 30 # expires used by all dialogs
%%sleep-sec 1.0 # number of seconds to wait before sending next sip message

%%reg-sid
%%sub-reg-sid
%%sub-pres-sid
%%pub-sid

# Configure the stack
# Realm, IMPI and IMPU are mandatory
++cst --realm $$(domain) --impi $$(user)@$$(domain) --impu sip:$$(user)@$$(domain) --pwd $$(pwd) \
	--pcscf-ip $$(proxy_ip) --pcscf-port $$(proxy_port) --pcscf-trans $$(proxy_trans)\
	--header Privacy=header;id --header Allow=INVITE, ACK, CANCEL, BYE, MESSAGE, OPTIONS, NOTIFY, PRACK, UPDATE, REFER \
	--header P-Access-Network-Info=ADSL;utran-cell-id-3gpp=00000000 \
	--header User-Agent=IM-client/OMA1.0 doubango/v1.0.0 # last should not have backslash
	
# Run the engine
++r

# REGISTER
++reg --xp $$(expires) --caps +g.oma.sip-im --caps +g.3gpp.smsip --caps language="en,fr" \
	--header Action-Header=Myheader-value @@action\
	>>(reg-sid)

# sleep
#++sleep --sec $$(sleep-sec)

# subscribe to reg event package
++sub --to sip:$$(user)@$$(domain) --xp $$(expires) --header Event=reg --header Accept=application/reginfo+xml \
	--header Allow-Events=refer, presence, presence.winfo, xcap-diff, conference >>(sub-reg-sid)

#subscribe to presence event package (alice)
++sub --to sip:alice@$$(domain) --xp $$(expires) --header Event=presence --header Supported=eventlist\
	--header Accept=multipart/related, application/rlmi+xml, application/pidf+xml, application/rpid+xml, application/xcap-diff+xml, message/external-body \
	--header Allow-Events=refer, presence, presence.winfo, xcap-diff, conference >>(sub-pres-sid)

#publish
++sn --path ./publish.sn

++sleep --sec -1 # Press ENTER

# MESSAGE
++m --to sip:mercuro2@$$(domain) --pay Test SMS-RPDATA --header Content-Type=application/vnd.3gpp.sms --header Transfer-Encoding=binary


# sleep
++sleep --sec -1 # Press ENTER

# unsunscribe (reg and pres)
++hu --sid $$(sub-reg-sid)
++hu --sid $$(sub-pres-sid)
++hu --sid $$(pub-sid)

# sleep
++sleep --sec $$(sleep-sec)

# unregister
++hu --sid $$(reg-sid)

# sleep
++sleep --sec $$(sleep-sec)

# Exit the application
++e