@Override public void connect(MessageContext messageContext) throws ConnectException { SynapseLog log = getLog(messageContext); log.auditLog("Start: add outgoing phone number"); Map<String, String> params = getParameter(messageContext); try { TwilioRestClient twilioRestClient = TwilioUtil.getTwilioRestClient(messageContext); OutgoingCallerIdFactory numberFactory = twilioRestClient.getAccount() .getOutgoingCallerIdFactory(); CallerIdValidation number = numberFactory.create(params); OMElement omResponse = TwilioUtil.parseResponse("outgoingphonenumber.create.success"); TwilioUtil.addElement(omResponse, TwilioUtil.PARAM_PHONENUMBER, number.getPhoneNumber()); TwilioUtil.addElement(omResponse, TwilioUtil.PARAM_CALL_SID, number.getProperty("call_sid")); TwilioUtil.addElement(omResponse, TwilioUtil.PARAM_VERIFICATION_CODE,number.getValidationCode()); TwilioUtil.preparePayload(messageContext, omResponse); } catch (Exception e) { log.error(e.getMessage()); TwilioUtil.handleException(e, "0005", messageContext); throw new SynapseException(e); } log.auditLog("End: add outgoing phone number"); }