code: public Sip dial(String sessionId, String token, SipProperties properties) throws OpenTokException {
          if((StringUtils.isEmpty(sessionId) || StringUtils.isEmpty(token) || properties == null || StringUtils.isEmpty(properties.sipUri()))) {
              throw  new InvalidArgumentException ("Session id or token is null or empty or sip properties is null or sip uri empty or null.");
          }
          String sip = this.client.sipDial(sessionId,token,properties);
          try {
              return sipReader.readValue(sip);
          } catch (JsonProcessingException e) {
              throw new RequestException("Exception mapping json: " + e.getMessage());
          } catch (IOException e) {
              throw new RequestException("Exception mapping json: " + e.getMessage());
          }
      }
docs: Gets a list of {@link Stream} object for the given session ID.
  
  @param sessionId The session ID.
  @param token The token.
  @param properties The SipProperties.
  @return The  {@link Sip} object.