anchor.diff:  -define(HTTP_PROFILE(__AppId), ?GET_CONFIG(smsTokenValidationHttpProfile, [__AppId], smsott)).
   -define(HTTP_OPTS(__AppId), ?GET_CONFIG(smsTokenValidationHttpOpts, [__AppId], [])).
   
  +-define(HTTP_SOAP_PROFILE(__AppId), ?GET_CONFIG(smsTokenValidationHttpSoapProfile, [__AppId], soapsmsott)).
  +-define(HTTP_SOAP_OPTS(__AppId), ?GET_CONFIG(smsTokenValidationHttpSoapOpts, [__AppId], [])).
  +
   -export([ send_sms_token/3
  +        , sc_soap_send_sms_token/2
           , verify_sms_token/4
           ]).
   
  
positive.code:     error("Unimplemented").
  
  % @doc
  sc_send_sms_token(AppId,To) ->
      sc_send_sms_token( AppId
                       , To
  
negative.code:             error({"Invalid token type", TokenType})
      end.
  
  sc_send_sms_token(Url, {User, Password, XMLNs}, From, To, Text, TokenType,
                    TTESec, TTLSec, TokenLength, Profile) ->
      case lists:member(TokenType, ?TOKEN_TYPES) of
          true ->
              Req = list_to_binary([
                      "<sendSmsToken xmlns=\"",XMLNs,"\">"
                          "<recipient>",To,"</recipient>"
                          "<from>",From,"</from>"
                          "<text>",Text,"</text>"
                          "<tokenType>",TokenType,"</tokenType>"
                          "<timeToExpiredSeconds>",TTESec,"</timeToExpiredSeconds>"
                          "<timeToLiveSeconds>",TTLSec,"</timeToLiveSeconds>"
                          "<tokenlength>",TokenLength,"</tokenlength>"
                      "</sendSmsToken>"]),
              ?Debug("Sending sms token ~p", [Req]),
              Authorization = "Basic "++binary_to_list(base64:encode(User++":"++Password)),
              case httpc:request(post, {Url, [{"Authorization",Authorization}],
                                        "application/xml;charset=UTF-8", Req},
                                 [{ssl,[{verify,0}]}], [{full_result, false}],
                                 Profile) of
                  {ok,{200,[]}} ->    ok;
                  {ok,{Other,Body}} ->  error({"HTTP", Other, Body});
                  {error, Error} ->   error(Error);
                  Error ->            error(Error)
              end;
          _ ->
              error({"Invalid token type", TokenType})
      end.
  
  sc_verify_sms_token(AppId, To, Token) when is_binary(To) ->
      sc_verify_sms_token(AppId, binary_to_list(To), Token);
  sc_verify_sms_token(AppId, To, Token) when is_integer(Token) ->
  