i saw your profile in linkedin now currently doing call center solution using sipml5,can you give steps ,how to implement and how to identify caller id
Hey there,
Here is my code, search for sRemoteNumber variable and you can find the related code, it’s based on Doubango sample:
function onSipEventStack(e /*SIPml.Stack.Event*/) { tsk_utils_log_info('==stack event = ' + e.type); switch (e.type) { case 'started': { // catch exception for IE (DOM not ready) try { // LogIn (REGISTER) as soon as the stack finish starting oSipSessionRegister = this.newSession('register', { expires: 200, events_listener: {events: '*', listener: onSipEventSession}, sip_caps: [ {name: '+g.oma.sip-im', value: null}, {name: '+audio', value: null}, {name: 'language', value: '\"en,fr\"'} ] }); oSipSessionRegister.register(); } catch (e) { txtRegStatus.value = txtRegStatus.innerHTML = "1:" + e + ""; btnRegister.disabled = false; } break; } case 'stopping': case 'stopped': case 'failed_to_start': case 'failed_to_stop': { var bFailure = (e.type == 'failed_to_start') || (e.type == 'failed_to_stop'); oSipStack = null; oSipSessionRegister = null; oSipSessionCall = null; uiOnConnectionEvent(false, false); stopRingbackTone(); stopRingTone(); divCallOptions.style.opacity = 0; txtCallStatus.innerHTML = ''; txtRegStatus.innerHTML = bFailure ? "تماس قطع شد: " + e.description + "" : "ارتباط قطع شد"; break; } case 'i_new_call': { if (oSipSessionCall) { // do not accept the incoming call if we're already 'in call' e.newSession.hangup(); // comment this line for multi-line support } else { oSipSessionCall = e.newSession; // start listening for events oSipSessionCall.setConfiguration(oConfigCall); uiBtnCallSetText('پاسخ'); btnHangUp.value = 'رد پاسخ'; btnCall.disabled = false; btnHangUp.disabled = false; startRingTone(); var sRemoteNumber = oSipSessionCall.getRemoteFriendlyName(); if (sRemoteNumber) { var scope = angular.element(document.body).scope(); //TODO: fix before release window.document.title = "تماس دریافتی از " + sRemoteNumber; scope.$broadcast('SIP_INVITE', normalizePhoneNo(sRemoteNumber)); scope.callerPhoneNo = normalizePhoneNo(sRemoteNumber); } makeNotification('/asset/app-logo.ico', String.format("تماس جدید از {0}", sRemoteNumber), String.format("تماس جدید از {0}", sRemoteNumber)); sRemoteNumber = sRemoteNumber || 'unknown'; txtCallStatus.innerHTML = "دریافت تماس از [<b>" + sRemoteNumber + "b>]"; showNotifICall(sRemoteNumber); } break; } case 'm_permission_requested': { divGlassPanel.style.visibility = 'visible'; break; } case 'm_permission_accepted': case 'm_permission_refused': { divGlassPanel.style.visibility = 'hidden'; if (e.type == 'm_permission_refused') { uiCallTerminated('Media stream permission denied'); } break; } case 'starting': default: break; }};









