public static void playFileInResponseToDTMFInfo(SipSession session, String audioFile) { logger.info("playing " + audioFile + " in response to DTMF"); MediaGroup mg = (MediaGroup) session.getAttribute("mediaGroup"); // Let us request for Announcement Complete event or Failure // in case if it happens try { mg.getPlayer().play(URI.create(audioFile), null, null); } catch (MsControlException e) { // TODO Auto-generated catch block e.printStackTrace(); } session.setAttribute("DTMFSession", DTMFListener.DTMF_SESSION_STOPPED); logger.info("played " + audioFile + " in response to DTMF"); } }
try { URI delieryDateSummary = java.net.URI.create("data:" + URLEncoder.encode("ts("+ stringBuffer +")", "UTF-8")); session.setAttribute("speechUri", delieryDateSummary); java.io.File speech = new File("deliveryDate.wav"); session.setAttribute("dateAndTime", dateAndTime); return false;
public static void playAnnouncement(MediaGroup mg, SipSession sipSession, String pathToAudioDirectory) { try { java.net.URI uri = (java.net.URI) sipSession.getAttribute("speechUri"); if(sipSession.getAttribute("orderApproval") != null) { logger.info("Playing confirmation announcement : " + uri); mg.getPlayer().play(uri, null, null); mg.getSignalDetector().receiveSignals(1, null, null, null); sipSession.setAttribute("DTMFSession", DTMFListener.DTMF_SESSION_STARTED); logger.info("Waiting for DTMF at the same time.."); } else if (sipSession.getAttribute("deliveryDate") != null) { logger.info("Playing Delivery Date Announcement : " + uri); mg.getPlayer().play(uri, null, null); mg.getSignalDetector().receiveSignals(1, null, null, null); sipSession.setAttribute("DTMFSession", DTMFListener.DTMF_SESSION_STARTED); logger.info("Waiting for DTMF at the same time.."); } else if (sipSession.getAttribute("shipping") != null) { logger.info("Playing shipping announcement : " + uri); mg.getPlayer().play(uri, null, null); mg.getPlayer().addListener(new EndCallWhenPlaybackCompletedListener(sipSession)); logger.info("shipping announcement played. tearing down the call"); } } catch (Exception e) { logger.error(e); } }
stringBuffer.append(". Press 1 to confirm and 2 to decline."); sipServletRequest.getSession().setAttribute("speechUri", java.net.URI.create("data:" + URLEncoder.encode("ts("+ stringBuffer +")", "UTF-8"))); sipServletRequest.getSession().setAttribute("customerName", customerName); sipServletRequest.getSession().setAttribute("customerPhone", customerPhone); sipServletRequest.getSession().setAttribute("amountOrder", amount); sipServletRequest.getSession().setAttribute("orderId", orderId); sipServletRequest.getSession().setAttribute("connection", conn); sipServletRequest.getSession().setAttribute("mediaGroup", mg); sipServletRequest.getSession().setAttribute("mediaSession", mediaSession); sipServletRequest.getSession().setAttribute("orderApproval", true); sipServletRequest.getSession().setAttribute("caller", (String)Contexts.getApplicationContext().get("caller.sip")); sipServletRequest.getSession().setAttribute("callerDomain", (String)Contexts.getApplicationContext().get("caller.domain")); sipServletRequest.getSession().setAttribute("callerPassword", (String)Contexts.getApplicationContext().get("caller.password")); sipServletRequest.send(); mg.getSignalDetector().addListener(new DTMFListener(mg, sipServletRequest.getSession(), MMSUtil.audioFilePath));
stringBuffer.append(" minute. Thank you. Bye."); sipServletRequest.getSession().setAttribute("speechUri", java.net.URI.create("data:" + URLEncoder.encode("ts("+ stringBuffer +")", "UTF-8"))); Thread.sleep(300); sipServletRequest.setContent(sdpOffer, "application/sdp"); MediaGroup mg = mediaSession.createMediaGroup(MediaGroup.PLAYER_SIGNALDETECTOR); sipServletRequest.getSession().setAttribute("mediaGroup", mg); sipServletRequest.getSession().setAttribute("mediaSession", mediaSession); sipServletRequest.getSession().setAttribute("customerName", customerfullname); sipServletRequest.getSession().setAttribute("customerPhone", cutomerphone); sipServletRequest.getSession().setAttribute("amountOrder", amount); sipServletRequest.getSession().setAttribute("orderId", orderId); sipServletRequest.getSession().setAttribute("connection", conn); sipServletRequest.getSession().setAttribute("shipping", true); sipServletRequest.send(); mg.getSignalDetector().addListener(new DTMFListener(mg, sipServletRequest.getSession(), MMSUtil.audioFilePath));
sipServletRequest.setContent(sdpOffer, "application/sdp"); MediaGroup mg = mediaSession.createMediaGroup(MediaGroup.PLAYER_SIGNALDETECTOR); sipServletRequest.getSession().setAttribute("mediaGroup", mg); sipServletRequest.getSession().setAttribute("mediaSession", mediaSession); sipServletRequest.getSession().setAttribute("customerName", customerfullname); sipServletRequest.getSession().setAttribute("customerPhone", cutomerphone); sipServletRequest.getSession().setAttribute("amountOrder", amount); sipServletRequest.getSession().setAttribute("orderId", orderId); sipServletRequest.getSession().setAttribute("connection", conn); sipServletRequest.getSession().setAttribute("deliveryDate", true); String announcementFile = MMSUtil.audioFilePath + "/OrderDeliveryDate.wav"; sipServletRequest.getSession().setAttribute("speechUri", java.net.URI.create(announcementFile)); sipServletRequest.getSession().setAttribute("caller", (String)Contexts.getApplicationContext().get("caller.sip")); sipServletRequest.getSession().setAttribute("callerDomain", (String)Contexts.getApplicationContext().get("caller.domain")); sipServletRequest.getSession().setAttribute("callerPassword", (String)Contexts.getApplicationContext().get("caller.password")); sipServletRequest.send(); mg.getSignalDetector().addListener(new DTMFListener(mg, sipServletRequest.getSession(), MMSUtil.audioFilePath));
SipURI to, String proxyUsername, String proxyPassword, DaoManager storage, SipFactory sipFactory, boolean callToSipUri, final boolean patchForNat) { request.getSession().setAttribute("lastRequest", request); if (logger.isInfoEnabled()) { logger.info("B2BUA (p2p proxy for DID and SIP URIs) - : Got request:\n" + request.getRequestURI().toString()); incomingSession.setAttribute(B2BUA_LAST_REQUEST, request); SipServletRequest outRequest = null; if (fromClient != null) { incomingSession.setAttribute(B2BUA_LINKED_SESSION, outgoingSession); outgoingSession.setAttribute(B2BUA_LINKED_SESSION, incomingSession); outgoingSession.setAttribute(B2BUA_LAST_REQUEST, outRequest); request.createResponse(100).send(); request.getSession().setAttribute(TO_INET_URI, to); outRequest.getSession().setAttribute(FROM_INET_URI, uri); } else { if (logger.isDebugEnabled()) { logger.debug("We are not behind load balancer, storing " + FROM_INET_URI +": " + to); outRequest.getSession().setAttribute(FROM_INET_URI, originalFromUri); incomingSession.setAttribute(CDR_SID, callRecord.getSid()); outgoingSession.setAttribute(CDR_SID, callRecord.getSid()); incomingSession.setAttribute(CDR_ACCOUNT_SID, fromClient.getSid()); outgoingSession.setAttribute(CDR_ACCOUNT_SID, fromClient.getSid());
request.getSession().setAttribute("lastRequest", request); incomingSession.setAttribute(B2BUA_LAST_REQUEST, request); SipServletRequest outRequest = sipFactory.createRequest(request.getApplicationSession(), request.getMethod(), from, to); incomingSession.setAttribute(B2BUA_LINKED_SESSION, outgoingSession); outgoingSession.setAttribute(B2BUA_LINKED_SESSION, incomingSession); outgoingSession.setAttribute(B2BUA_LAST_REQUEST, outRequest); request.createResponse(100).send(); request.getSession().setAttribute(TO_INET_URI, to); if (logger.isInfoEnabled()) logger.info("bypassLoadBalancer is set to: " + RestcommConfiguration.getInstance().getMain().getBypassLbForClients()); outRequest.getSession().setAttribute(FROM_INET_URI, from); incomingSession.setAttribute(CDR_SID, callRecord.getSid()); outgoingSession.setAttribute(CDR_SID, callRecord.getSid()); incomingSession.setAttribute(CDR_ACCOUNT_SID, client.getSid()); outgoingSession.setAttribute(CDR_ACCOUNT_SID, client.getSid()); incomingSession.setAttribute(CDR_DIRECTION, "Client-To-Client"); outgoingSession.setAttribute(CDR_DIRECTION, "Client-To-Client"); incomingSession.setAttribute(CDR_FROM, client.getLogin()); outgoingSession.setAttribute(CDR_FROM, client.getLogin()); incomingSession.setAttribute(CDR_TO, toClient.getLogin()); outgoingSession.setAttribute(CDR_TO, toClient.getLogin());
sipServletRequest.setRequestURI(requestURI); sipServletRequest.getSession().setAttribute("SecondPartyAddress", fromAddress); sipServletRequest.getSession().setAttribute("HelpCall", Boolean.TRUE); sipServletRequest.send();
response.getSession().setAttribute(B2BUA_LAST_FINAL_RESPONSE, response); response.getSession().setAttribute(B2BUA_LAST_RESPONSE, response);