The documentation for JABBER_STATUS (and the deprecated JabberStatus
app) indicate that a return value of 7 indicates that the specified
buddy was not in the roster. It also indicates that you can specify a
"bare" JID (one without a resource). Unfortunately the actual behavior
does not match the documented behavior.
Assuming that our roster includes the buddy online and available
"valid@example.org/Valid" and does *not* include the buddy
"invalid@example.org", the JABBER_STATUS() function returns the
following before this patch:
+------------------------------+------------+--------------------------+
| Buddy | Status | Result |
+------------------------------+------------+--------------------------+
| valid@example.org | Online | 7 (Not in roster) |
| valid@example.org/Valid | Online | 1 (Online) |
| valid@example.org/Invalid | N/A | 7 (Not in roster) |
| invalid@example.org | N/A | Error logged, no return |
| invalid@example.org/Valid | N/A | Error logged, no return |
+------------------------------+------------+--------------------------+
And after this patch:
+------------------------------+------------+--------------------------+
| Buddy | Status | Result |
+------------------------------+------------+--------------------------+
| valid@example.org | Online | 1 (Online) |
| valid@example.org/Valid | Online | 1 (Online) |
| valid@example.org/Invalid | N/A | 6 (Offline) |
| invalid@example.org | N/A | 7 (Not in roster) |
| invalid@example.org/Valid | N/A | 7 (Not in roster) |
+------------------------------+------------+--------------------------+
This brings the behavior in line with the documentation.
ASTERISK-23510 #close
Reported by: Anthony Critelli
Change-Id: I9c3241035363ef4a6bdc21fabfd8ffcd9ec657bf