\section{eXosip2 SUBSCRIBE and outgoing subscriptions} \label{group__eXosip2__subscribe}\index{eXosip2 SUBSCRIBE and outgoing subscriptions@{eXosip2 SUBSCRIBE and outgoing subscriptions}} \subsection*{Enumerations} \begin{CompactItemize} \item enum {\bf eXosip\_\-ss} \{ \par {\bf EXOSIP\_\-SUBCRSTATE\_\-UNKNOWN}, \par {\bf EXOSIP\_\-SUBCRSTATE\_\-PENDING}, \par {\bf EXOSIP\_\-SUBCRSTATE\_\-ACTIVE}, \par {\bf EXOSIP\_\-SUBCRSTATE\_\-TERMINATED} \} \item enum {\bf eXosip\_\-ss\_\-reason} \{ \par {\bf DEACTIVATED}, \par {\bf PROBATION}, \par {\bf REJECTED}, \par {\bf TIMEOUT}, \par {\bf GIVEUP}, \par {\bf NORESOURCE} \} \item enum {\bf eXosip\_\-ss\_\-status} \{ \par {\bf EXOSIP\_\-NOTIFY\_\-UNKNOWN}, \par {\bf EXOSIP\_\-NOTIFY\_\-PENDING}, \par {\bf EXOSIP\_\-NOTIFY\_\-ONLINE}, \par {\bf EXOSIP\_\-NOTIFY\_\-BUSY}, \par {\bf EXOSIP\_\-NOTIFY\_\-BERIGHTBACK}, \par {\bf EXOSIP\_\-NOTIFY\_\-AWAY}, \par {\bf EXOSIP\_\-NOTIFY\_\-ONTHEPHONE}, \par {\bf EXOSIP\_\-NOTIFY\_\-OUTTOLUNCH}, \par {\bf EXOSIP\_\-NOTIFY\_\-CLOSED} \} \end{CompactItemize} \subsection*{Functions} \begin{CompactItemize} \item int {\bf eXosip\_\-subscribe\_\-build\_\-initial\_\-request} (osip\_\-message\_\-t $\ast$$\ast$subscribe, const char $\ast$to, const char $\ast$from, const char $\ast$route, const char $\ast$event, int expires) \item int {\bf eXosip\_\-subscribe\_\-send\_\-initial\_\-request} (osip\_\-message\_\-t $\ast$subscribe) \item int {\bf eXosip\_\-subscribe\_\-build\_\-refresh\_\-request} (int did, osip\_\-message\_\-t $\ast$$\ast$sub) \item int {\bf eXosip\_\-subscribe\_\-send\_\-refresh\_\-request} (int did, osip\_\-message\_\-t $\ast$sub) \item int {\bf eXosip\_\-subscribe\_\-remove} (int did) \end{CompactItemize} \subsection{Enumeration Type Documentation} \index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!eXosip\_\-ss@{eXosip\_\-ss}} \index{eXosip\_\-ss@{eXosip\_\-ss}!eXosip2_subscribe@{eXosip2\_\-subscribe}} \subsubsection[{eXosip\_\-ss}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf eXosip\_\-ss}}\label{group__eXosip2__subscribe_gb4a12b58d8b482b4f6f823012b56947e} \begin{Desc} \item[Enumerator: ]\par \begin{description} \index{EXOSIP\_\-SUBCRSTATE\_\-UNKNOWN@{EXOSIP\_\-SUBCRSTATE\_\-UNKNOWN}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-SUBCRSTATE\_\-UNKNOWN@{EXOSIP\_\-SUBCRSTATE\_\-UNKNOWN}}\item[{\em EXOSIP\_\-SUBCRSTATE\_\-UNKNOWN\label{group__eXosip2__subscribe_ggb4a12b58d8b482b4f6f823012b56947ecb8ede49a0d3b334a59a5a8720c12646} }]unknown subscription-state \index{EXOSIP\_\-SUBCRSTATE\_\-PENDING@{EXOSIP\_\-SUBCRSTATE\_\-PENDING}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-SUBCRSTATE\_\-PENDING@{EXOSIP\_\-SUBCRSTATE\_\-PENDING}}\item[{\em EXOSIP\_\-SUBCRSTATE\_\-PENDING\label{group__eXosip2__subscribe_ggb4a12b58d8b482b4f6f823012b56947ed01902b833a4254028a1892ed771f8d7} }]pending subscription-state \index{EXOSIP\_\-SUBCRSTATE\_\-ACTIVE@{EXOSIP\_\-SUBCRSTATE\_\-ACTIVE}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-SUBCRSTATE\_\-ACTIVE@{EXOSIP\_\-SUBCRSTATE\_\-ACTIVE}}\item[{\em EXOSIP\_\-SUBCRSTATE\_\-ACTIVE\label{group__eXosip2__subscribe_ggb4a12b58d8b482b4f6f823012b56947eb55fb1421ce40b2d9149541518dd2f09} }]active subscription-state \index{EXOSIP\_\-SUBCRSTATE\_\-TERMINATED@{EXOSIP\_\-SUBCRSTATE\_\-TERMINATED}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-SUBCRSTATE\_\-TERMINATED@{EXOSIP\_\-SUBCRSTATE\_\-TERMINATED}}\item[{\em EXOSIP\_\-SUBCRSTATE\_\-TERMINATED\label{group__eXosip2__subscribe_ggb4a12b58d8b482b4f6f823012b56947e67828d3da05425e754bdfa6e66b43cbb} }]terminated subscription-state \end{description} \end{Desc} \index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!eXosip\_\-ss\_\-reason@{eXosip\_\-ss\_\-reason}} \index{eXosip\_\-ss\_\-reason@{eXosip\_\-ss\_\-reason}!eXosip2_subscribe@{eXosip2\_\-subscribe}} \subsubsection[{eXosip\_\-ss\_\-reason}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf eXosip\_\-ss\_\-reason}}\label{group__eXosip2__subscribe_g92a1d652148d83a599adc8c148ffcb11} \begin{Desc} \item[Enumerator: ]\par \begin{description} \index{DEACTIVATED@{DEACTIVATED}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!DEACTIVATED@{DEACTIVATED}}\item[{\em DEACTIVATED\label{group__eXosip2__subscribe_gg92a1d652148d83a599adc8c148ffcb11853a094b6a4dafa6aadefa3eae759e90} }]deactivated for subscription-state \index{PROBATION@{PROBATION}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!PROBATION@{PROBATION}}\item[{\em PROBATION\label{group__eXosip2__subscribe_gg92a1d652148d83a599adc8c148ffcb1172e6161e194cd5074db89c0e03020aa3} }]probation for subscription-state \index{REJECTED@{REJECTED}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!REJECTED@{REJECTED}}\item[{\em REJECTED\label{group__eXosip2__subscribe_gg92a1d652148d83a599adc8c148ffcb11dc7d25ac50cec5a18810f4e4f6614364} }]rejected for subscription-state \index{TIMEOUT@{TIMEOUT}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!TIMEOUT@{TIMEOUT}}\item[{\em TIMEOUT\label{group__eXosip2__subscribe_gg92a1d652148d83a599adc8c148ffcb11ad9dee005a3d0f9137b2ac1e0869f89b} }]timeout for subscription-state \index{GIVEUP@{GIVEUP}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!GIVEUP@{GIVEUP}}\item[{\em GIVEUP\label{group__eXosip2__subscribe_gg92a1d652148d83a599adc8c148ffcb11ab5fa49de658315add75170068b4d7f4} }]giveup for subscription-state \index{NORESOURCE@{NORESOURCE}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!NORESOURCE@{NORESOURCE}}\item[{\em NORESOURCE\label{group__eXosip2__subscribe_gg92a1d652148d83a599adc8c148ffcb11f1d7b371ad81bea867ca1a1c471ccea3} }]noresource for subscription-state \end{description} \end{Desc} \index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!eXosip\_\-ss\_\-status@{eXosip\_\-ss\_\-status}} \index{eXosip\_\-ss\_\-status@{eXosip\_\-ss\_\-status}!eXosip2_subscribe@{eXosip2\_\-subscribe}} \subsubsection[{eXosip\_\-ss\_\-status}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf eXosip\_\-ss\_\-status}}\label{group__eXosip2__subscribe_g007f93629c956c5ae0631449e1306383} \begin{Desc} \item[Enumerator: ]\par \begin{description} \index{EXOSIP\_\-NOTIFY\_\-UNKNOWN@{EXOSIP\_\-NOTIFY\_\-UNKNOWN}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-NOTIFY\_\-UNKNOWN@{EXOSIP\_\-NOTIFY\_\-UNKNOWN}}\item[{\em EXOSIP\_\-NOTIFY\_\-UNKNOWN\label{group__eXosip2__subscribe_gg007f93629c956c5ae0631449e1306383699f2a0db113726a42c033688ac3d513} }]unknown state for subscription \index{EXOSIP\_\-NOTIFY\_\-PENDING@{EXOSIP\_\-NOTIFY\_\-PENDING}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-NOTIFY\_\-PENDING@{EXOSIP\_\-NOTIFY\_\-PENDING}}\item[{\em EXOSIP\_\-NOTIFY\_\-PENDING\label{group__eXosip2__subscribe_gg007f93629c956c5ae0631449e1306383b1a6e463c9bfdcd1a0d5f1ba1ad73599} }]subscription not yet accepted \index{EXOSIP\_\-NOTIFY\_\-ONLINE@{EXOSIP\_\-NOTIFY\_\-ONLINE}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-NOTIFY\_\-ONLINE@{EXOSIP\_\-NOTIFY\_\-ONLINE}}\item[{\em EXOSIP\_\-NOTIFY\_\-ONLINE\label{group__eXosip2__subscribe_gg007f93629c956c5ae0631449e1306383244ef927925f569cab189c704108a644} }]online status \index{EXOSIP\_\-NOTIFY\_\-BUSY@{EXOSIP\_\-NOTIFY\_\-BUSY}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-NOTIFY\_\-BUSY@{EXOSIP\_\-NOTIFY\_\-BUSY}}\item[{\em EXOSIP\_\-NOTIFY\_\-BUSY\label{group__eXosip2__subscribe_gg007f93629c956c5ae0631449e13063833c9fc56d4c082d1925fde1b1f06801da} }]busy status \index{EXOSIP\_\-NOTIFY\_\-BERIGHTBACK@{EXOSIP\_\-NOTIFY\_\-BERIGHTBACK}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-NOTIFY\_\-BERIGHTBACK@{EXOSIP\_\-NOTIFY\_\-BERIGHTBACK}}\item[{\em EXOSIP\_\-NOTIFY\_\-BERIGHTBACK\label{group__eXosip2__subscribe_gg007f93629c956c5ae0631449e1306383112cf1e187ee427555ff7fd729a2f297} }]be right back status \index{EXOSIP\_\-NOTIFY\_\-AWAY@{EXOSIP\_\-NOTIFY\_\-AWAY}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-NOTIFY\_\-AWAY@{EXOSIP\_\-NOTIFY\_\-AWAY}}\item[{\em EXOSIP\_\-NOTIFY\_\-AWAY\label{group__eXosip2__subscribe_gg007f93629c956c5ae0631449e130638303c4173e8ba6beda9600b17fa588fd07} }]away status \index{EXOSIP\_\-NOTIFY\_\-ONTHEPHONE@{EXOSIP\_\-NOTIFY\_\-ONTHEPHONE}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-NOTIFY\_\-ONTHEPHONE@{EXOSIP\_\-NOTIFY\_\-ONTHEPHONE}}\item[{\em EXOSIP\_\-NOTIFY\_\-ONTHEPHONE\label{group__eXosip2__subscribe_gg007f93629c956c5ae0631449e13063830a7d16c7ed033d2805da9b079ded6e0e} }]on the phone status \index{EXOSIP\_\-NOTIFY\_\-OUTTOLUNCH@{EXOSIP\_\-NOTIFY\_\-OUTTOLUNCH}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-NOTIFY\_\-OUTTOLUNCH@{EXOSIP\_\-NOTIFY\_\-OUTTOLUNCH}}\item[{\em EXOSIP\_\-NOTIFY\_\-OUTTOLUNCH\label{group__eXosip2__subscribe_gg007f93629c956c5ae0631449e13063831a83e8cac6af2eb7529bb23ff5da53d9} }]out to lunch status \index{EXOSIP\_\-NOTIFY\_\-CLOSED@{EXOSIP\_\-NOTIFY\_\-CLOSED}!eXosip2\_\-subscribe@{eXosip2\_\-subscribe}}\index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!EXOSIP\_\-NOTIFY\_\-CLOSED@{EXOSIP\_\-NOTIFY\_\-CLOSED}}\item[{\em EXOSIP\_\-NOTIFY\_\-CLOSED\label{group__eXosip2__subscribe_gg007f93629c956c5ae0631449e1306383644d57e623ed68e5be8d8808062af729} }]closed status \end{description} \end{Desc} \subsection{Function Documentation} \index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!eXosip\_\-subscribe\_\-build\_\-initial\_\-request@{eXosip\_\-subscribe\_\-build\_\-initial\_\-request}} \index{eXosip\_\-subscribe\_\-build\_\-initial\_\-request@{eXosip\_\-subscribe\_\-build\_\-initial\_\-request}!eXosip2_subscribe@{eXosip2\_\-subscribe}} \subsubsection[{eXosip\_\-subscribe\_\-build\_\-initial\_\-request}]{\setlength{\rightskip}{0pt plus 5cm}int eXosip\_\-subscribe\_\-build\_\-initial\_\-request (osip\_\-message\_\-t $\ast$$\ast$ {\em subscribe}, \/ const char $\ast$ {\em to}, \/ const char $\ast$ {\em from}, \/ const char $\ast$ {\em route}, \/ const char $\ast$ {\em event}, \/ int {\em expires})}\label{group__eXosip2__subscribe_gacf6b1cbc417606891d012c86df9441b} Build a default initial SUBSCRIBE request. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em subscribe}]Pointer for the SIP request to build. \item[{\em to}]SIP url for callee. \item[{\em from}]SIP url for caller. \item[{\em route}]Route header for SUBSCRIBE. (optionnal) \item[{\em event}]Event header for SUBSCRIBE. \item[{\em expires}]Expires header for SUBSCRIBE. \end{description} \end{Desc} \index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!eXosip\_\-subscribe\_\-send\_\-initial\_\-request@{eXosip\_\-subscribe\_\-send\_\-initial\_\-request}} \index{eXosip\_\-subscribe\_\-send\_\-initial\_\-request@{eXosip\_\-subscribe\_\-send\_\-initial\_\-request}!eXosip2_subscribe@{eXosip2\_\-subscribe}} \subsubsection[{eXosip\_\-subscribe\_\-send\_\-initial\_\-request}]{\setlength{\rightskip}{0pt plus 5cm}int eXosip\_\-subscribe\_\-send\_\-initial\_\-request (osip\_\-message\_\-t $\ast$ {\em subscribe})}\label{group__eXosip2__subscribe_gb2164b63d0e258290e9749d4a2a72f1d} Send an initial SUBSCRIBE request. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em subscribe}]SIP SUBSCRIBE message to send. \end{description} \end{Desc} \index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!eXosip\_\-subscribe\_\-build\_\-refresh\_\-request@{eXosip\_\-subscribe\_\-build\_\-refresh\_\-request}} \index{eXosip\_\-subscribe\_\-build\_\-refresh\_\-request@{eXosip\_\-subscribe\_\-build\_\-refresh\_\-request}!eXosip2_subscribe@{eXosip2\_\-subscribe}} \subsubsection[{eXosip\_\-subscribe\_\-build\_\-refresh\_\-request}]{\setlength{\rightskip}{0pt plus 5cm}int eXosip\_\-subscribe\_\-build\_\-refresh\_\-request (int {\em did}, \/ osip\_\-message\_\-t $\ast$$\ast$ {\em sub})}\label{group__eXosip2__subscribe_g473c0a990d6276fb24f5ffa0f52988c3} Build a default new SUBSCRIBE message. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em did}]identifier of the subscription. \item[{\em sub}]Pointer for the SIP request to build. \end{description} \end{Desc} \index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!eXosip\_\-subscribe\_\-send\_\-refresh\_\-request@{eXosip\_\-subscribe\_\-send\_\-refresh\_\-request}} \index{eXosip\_\-subscribe\_\-send\_\-refresh\_\-request@{eXosip\_\-subscribe\_\-send\_\-refresh\_\-request}!eXosip2_subscribe@{eXosip2\_\-subscribe}} \subsubsection[{eXosip\_\-subscribe\_\-send\_\-refresh\_\-request}]{\setlength{\rightskip}{0pt plus 5cm}int eXosip\_\-subscribe\_\-send\_\-refresh\_\-request (int {\em did}, \/ osip\_\-message\_\-t $\ast$ {\em sub})}\label{group__eXosip2__subscribe_g0782d3f40b53b221e49ad029a0bf6ec0} Send a new SUBSCRIBE request. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em did}]identifier of the subscription. \item[{\em sub}]SIP SUBSCRIBE message to send. \end{description} \end{Desc} \index{eXosip2\_\-subscribe@{eXosip2\_\-subscribe}!eXosip\_\-subscribe\_\-remove@{eXosip\_\-subscribe\_\-remove}} \index{eXosip\_\-subscribe\_\-remove@{eXosip\_\-subscribe\_\-remove}!eXosip2_subscribe@{eXosip2\_\-subscribe}} \subsubsection[{eXosip\_\-subscribe\_\-remove}]{\setlength{\rightskip}{0pt plus 5cm}int eXosip\_\-subscribe\_\-remove (int {\em did})}\label{group__eXosip2__subscribe_gaf03a1b07798eb883eb069788456640a} Remove outgoing subscription context. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em did}]identifier of the subscription. \end{description} \end{Desc}