Solved

IAX2 Trunk between 2 elastix - busy tone when calling from one side

Posted on 2011-09-30
2
3,398 Views
Last Modified: 2012-05-12
Hello

With a fiend we are testing the scenario of interconnecting 2 elastix boxes via IAX2 trunk over internet with openvpn.We have used this guide for the setup: http://blogs.elastix.org/en/2009/11/interoffice-trunking-with-elastix-iax/

So the details now:

-Elastix version 2.0.4 on both ends
-OpenVPN up and running on both ends (we can ping each side successfully).
-My box A is using a range of 1XX extensions and my friends box  is using 400X range of extensions.

My trunk config A:

Trunk name: reptec

Peer Details
username=reptec
type=peer
secret=secret
qualify=yes
host=10.99.88.1
context=from-internal
trunk=yes
allow=gsm

User Context: acid

User details

type=user
secret=secret
host=10.99.88.1
context=from-internal
allow=gsm


Outbound route

Route name: spacexts
IntraCompany route=enabled
Dial Pattern=400X
Trunk Sequence for Matched Routes
0=reptec

My friends config  B:

Trunk name: acid

Peer details:

username=acid
type=peer
secret=secret
qualify=yes
host=10.99.88.6
context=from-internal
trunk=yes
allow=gsm

User context: reptec

type=user
secret=secret
host=10.99.88.6
context=from-internal
allow=gsm

Outbound route

Route name: acidexts

IntraCompany route=enabled

Trunk Sequence for Matched Routes
0=acid
-----------------------------------------------

So far so good.On both ends we can see that IAX2 trunk is up and running by giving:
iax2 show peers
Name/Username    Host                 Mask             Port          Status
reptec/reptec    10.99.88.1      (S)  255.255.255.255  4569 (T)      OK (62 ms)
1 iax2 peers [1 online, 0 offline, 0 unmonitored]
--------------------------------------------------------------------------------------
My friend can successfully call my extension A (101)  from his side B 4002 ext.
When i try to call him on his extension B 4002 i always get a busy tone.
The following is logged on my asterisk:

IAX2 Debugging Enabled
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Executing [4002@from-internal:1] Macro("SIP/101-00000000", "user-callerid                                          ,SKIPTTL,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/101-00000000", "AMPUSER=101"                                          ) in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("SIP/101-00000000", "0?report"                                          ) in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("SIP/101-00000000", "1?Set(REA                                          LCALLERIDNUM=101)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("SIP/101-00000000", "AMPUSER=101"                                          ) in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/101-00000000", "AMPUSERCIDNA                                          ME=Yiannis Milios") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("SIP/101-00000000", "0?report"                                          ) in new stack
    -- Executing [s@macro-user-callerid:7] Set("SIP/101-00000000", "AMPUSERCID=1                                          01") in new stack
    -- Executing [s@macro-user-callerid:8] Set("SIP/101-00000000", "CALLERID(all                                          )="Yiannis Milios" <101>") in new stack
    -- Executing [s@macro-user-callerid:9] ExecIf("SIP/101-00000000", "0?Set(CHA                                          NNEL(language)=)") in new stack
    -- Executing [s@macro-user-callerid:10] GotoIf("SIP/101-00000000", "1?contin                                          ue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] Set("SIP/101-00000000", "CALLERID(nu                                          mber)=101") in new stack
    -- Executing [s@macro-user-callerid:20] Set("SIP/101-00000000", "CALLERID(na                                          me)=Yiannis Milios") in new stack
    -- Executing [s@macro-user-callerid:21] NoOp("SIP/101-00000000", "Using Call                                          erID "Yiannis Milios" <101>") in new stack
    -- Executing [4002@from-internal:2] NoOp("SIP/101-00000000", "Calling Out Ro                                          ute: spacexts") in new stack
    -- Executing [4002@from-internal:3] Set("SIP/101-00000000", "INTRACOMPANYROU                                          TE=YES") in new stack
    -- Executing [4002@from-internal:4] Set("SIP/101-00000000", "MOHCLASS=defaul                                          t") in new stack
    -- Executing [4002@from-internal:5] Set("SIP/101-00000000", "_NODEST=") in n                                          ew stack
    -- Executing [4002@from-internal:6] Macro("SIP/101-00000000", "record-enable                                          ,101,OUT,") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("SIP/101-00000000", "1?check")                                           in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] ExecIf("SIP/101-00000000", "0?MacroEx                                          it()") in new stack
    -- Executing [s@macro-record-enable:5] GotoIf("SIP/101-00000000", "0?Group:O                                          UT") in new stack
    -- Goto (macro-record-enable,s,15)
    -- Executing [s@macro-record-enable:15] GotoIf("SIP/101-00000000", "0?IN") i                                          n new stack
    -- Executing [s@macro-record-enable:16] ExecIf("SIP/101-00000000", "1?MacroE                                          xit()") in new stack
    -- Executing [4002@from-internal:7] Macro("SIP/101-00000000", "dialout-trunk                                          ,2,4002,") in new stack
    -- Executing [s@macro-dialout-trunk:1] Set("SIP/101-00000000", "DIAL_TRUNK=2                                          ") in new stack
    -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/101-00000000", "0?sub-pi                                          ncheck,s,1") in new stack
    -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/101-00000000", "0?disable                                          trunk,1") in new stack
    -- Executing [s@macro-dialout-trunk:4] Set("SIP/101-00000000", "DIAL_NUMBER=                                          4002") in new stack
    -- Executing [s@macro-dialout-trunk:5] Set("SIP/101-00000000", "DIAL_TRUNK_O                                          PTIONS=tr") in new stack
    -- Executing [s@macro-dialout-trunk:6] Set("SIP/101-00000000", "OUTBOUND_GRO                                          UP=OUT_2") in new stack
    -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/101-00000000", "1?nomax")                                           in new stack
    -- Goto (macro-dialout-trunk,s,9)
    -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/101-00000000", "1?skipout                                          cid") in new stack
    -- Goto (macro-dialout-trunk,s,12)
    -- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/101-00000000", "0?sub-f                                          lp-2,s,1") in new stack
    -- Executing [s@macro-dialout-trunk:13] Set("SIP/101-00000000", "OUTNUM=4002                                          ") in new stack
    -- Executing [s@macro-dialout-trunk:14] Set("SIP/101-00000000", "custom=IAX2                                          /reptec") in new stack
    -- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/101-00000000", "0?Set(DI                                          AL_TRUNK_OPTIONS=M(setmusic^default)tr)") in new stack
    -- Executing [s@macro-dialout-trunk:16] Macro("SIP/101-00000000", "dialout-t                                          runk-predial-hook,") in new stack
    -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/101-00000                                          000", "") in new stack
    -- Executing [s@macro-dialout-trunk:17] GotoIf("SIP/101-00000000", "0?bypass                                          ,1") in new stack
    -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/101-00000000", "0?custom                                          trunk") in new stack
    -- Executing [s@macro-dialout-trunk:19] Dial("SIP/101-00000000", "IAX2/repte                                          c/4002,300,tr") in new stack
    -- Hungup 'IAX2/reptec-16643'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [s@macro-dialout-trunk:20] NoOp("SIP/101-00000000", "Dial faile                                          d for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 0") in new sta                                          ck
    -- Executing [s@macro-dialout-trunk:21] Goto("SIP/101-00000000", "s-CHANUNAV                                          AIL,1") in new stack
    -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
    -- Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] Set("SIP/101-00000000", "                                          RC=0") in new stack
    -- Executing [s-CHANUNAVAIL@macro-dialout-trunk:2] Goto("SIP/101-00000000",                                           "0,1") in new stack
    -- Goto (macro-dialout-trunk,0,1)
    -- Executing [0@macro-dialout-trunk:1] Goto("SIP/101-00000000", "continue,1"                                          ) in new stack
    -- Goto (macro-dialout-trunk,continue,1)
    -- Executing [continue@macro-dialout-trunk:1] GotoIf("SIP/101-00000000", "1?                                          noreport") in new stack
    -- Goto (macro-dialout-trunk,continue,3)
    -- Executing [continue@macro-dialout-trunk:3] NoOp("SIP/101-00000000", "TRUN                                          K Dial failed due to CHANUNAVAIL HANGUPCAUSE: 0 - failing through to other trunk                                          s") in new stack
    -- Executing [continue@macro-dialout-trunk:4] Set("SIP/101-00000000", "CALLE                                          RID(number)=101") in new stack
    -- Executing [4002@from-internal:8] Macro("SIP/101-00000000", "outisbusy,")                                           in new stack
    -- Executing [s@macro-outisbusy:1] Progress("SIP/101-00000000", "") in new s                                          tack
    -- Executing [s@macro-outisbusy:2] GotoIf("SIP/101-00000000", "0?emergency,1                                          ") in new stack
    -- Executing [s@macro-outisbusy:3] GotoIf("SIP/101-00000000", "1?intracompan                                          y,1") in new stack
    -- Goto (macro-outisbusy,intracompany,1)
    -- Executing [intracompany@macro-outisbusy:1] Playback("SIP/101-00000000", "                                          all-circuits-busy-now&pls-try-call-later, noanswer") in new stack
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: HANGUP
   Timestamp: 00018ms  SCall: 16643  DCall: 00000 [10.99.88.1:4569]
   CAUSE CODE      : 0

    -- Executing [intracompany@macro-outisbusy:2] Congestion("SIP/101-00000000",                                           "20") in new stack
  == Spawn extension (macro-outisbusy, intracompany, 2) exited non-zero on 'SIP/                                          101-00000000' in macro 'outisbusy'
  == Spawn extension (from-internal, 4002, 8) exited non-zero on 'SIP/101-000000                                          00'
    -- Executing [h@from-internal:1] Macro("SIP/101-00000000", "hangupcall") in                                           new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/101-00000000", "1?endmixmonc                                          heck") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall:9] NoOp("SIP/101-00000000", "End of MIXMON                                           check") in new stack
    -- Executing [s@macro-hangupcall:10] GotoIf("SIP/101-00000000", "1?nomeetmem                                          on") in new stack
    -- Goto (macro-hangupcall,s,15)
    -- Executing [s@macro-hangupcall:15] NoOp("SIP/101-00000000", "MEETME_RECORD                                          INGFILE=") in new stack
    -- Executing [s@macro-hangupcall:16] GotoIf("SIP/101-00000000", "1?noautomon                                          ") in new stack
    -- Goto (macro-hangupcall,s,18)
    -- Executing [s@macro-hangupcall:18] NoOp("SIP/101-00000000", "TOUCH_MONITOR                                          _OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:19] GotoIf("SIP/101-00000000", "1?noautomon                                          2") in new stack
    -- Goto (macro-hangupcall,s,25)
    -- Executing [s@macro-hangupcall:25] NoOp("SIP/101-00000000", "MONITOR_FILEN                                          AME=") in new stack
    -- Executing [s@macro-hangupcall:26] GotoIf("SIP/101-00000000", "1?skiprg")                                           in new stack
    -- Goto (macro-hangupcall,s,29)
    -- Executing [s@macro-hangupcall:29] GotoIf("SIP/101-00000000", "1?skipblkvm                                          ") in new stack
    -- Goto (macro-hangupcall,s,32)
    -- Executing [s@macro-hangupcall:32] GotoIf("SIP/101-00000000", "1?theend")                                           in new stack
    -- Goto (macro-hangupcall,s,34)
    -- Executing [s@macro-hangupcall:34] Hangup("SIP/101-00000000", "") in new s                                          tack
  == Spawn extension (macro-hangupcall, s, 34) exited non-zero on 'SIP/101-00000                                          000' in macro 'hangupcall'
  == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/101-00000000'
Tx-Frame Retry[001] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: HANGUP
   Timestamp: 00018ms  SCall: 16643  DCall: 00000 [10.99.88.1:4569]
   CAUSE CODE      : 0

Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: POKE
   Timestamp: 00006ms  SCall: 04809  DCall: 00000 [10.99.88.1:4569]

Rx-Frame Retry[Yes] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: PONG
   Timestamp: 00006ms  SCall: 00001  DCall: 04809 [10.99.88.1:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: ACK
   Timestamp: 00006ms  SCall: 04809  DCall: 00001 [10.99.88.1:4569]

This is really strange.I have tried playing with different settings on both trunks but i didn't find
a solution.
Can anyone help? This is a test environment so there is not problem playing around with the settings.
Thank you very much.
0
Comment
Question by:aciddo
  • 2
2 Comments
 

Author Comment

by:aciddo
Comment Utility
I had some progress by changing e bit the config as below:

 PEER DETAILS
 ------------
 username=reptec
 type=peer
 secret=secret
 qualify=yes
 host=10.99.88.1
 context=from-internal
 dtmfmode=rfc2833
 videosupport=yes
 trunk=yes
 allow=gsm&alaw&ulaw&GSM&G722&G723&G729&iLBC&PCMU&PCMA&AACLC&H264&H264+&H263&H263p&H263+&mp4v-es

 USER DETAILS
 ----------------
 type=user
 secret=secret
 host=10.99.88.1
 context=from-internal
 trunk=yes
 disallow=all
 dtmfmode=rfc2833
 videosupport=yes
 allow=GSM&G722&G723&G729&iLBC&PCMU&PCMA&AACLC&H264&H264+&H263&H263p&H263+&mp4v-es

 Now i am able to hear the calling ringing (other party ext. 4002 has voice mail enabled)but for some strange reason i cannot hear the voice message although the call is in progress.

 Below is the log:
 -----------------
 == Using SIP RTP TOS bits 184
 == Using SIP RTP CoS mark 5
 -- Executing [4002@from-internal:1] Macro("SIP/101-0000000a", "user-callerid,SKIPTTL,") in new stack
 -- Executing [s@macro-user-callerid:1] Set("SIP/101-0000000a", "AMPUSER=101") in new stack
 -- Executing [s@macro-user-callerid:2] GotoIf("SIP/101-0000000a", "0?report") in new stack
 -- Executing [s@macro-user-callerid:3] ExecIf("SIP/101-0000000a", "1?Set(REALCALLERIDNUM=101)") in new stack
 -- Executing [s@macro-user-callerid:4] Set("SIP/101-0000000a", "AMPUSER=101") in new stack
 -- Executing [s@macro-user-callerid:5] Set("SIP/101-0000000a", "AMPUSERCIDNAME=Yiannis Milios") in new stack
 -- Executing [s@macro-user-callerid:6] GotoIf("SIP/101-0000000a", "0?report") in new stack
 -- Executing [s@macro-user-callerid:7] Set("SIP/101-0000000a", "AMPUSERCID=101") in new stack
 -- Executing [s@macro-user-callerid:8] Set("SIP/101-0000000a", "CALLERID(all)="Yiannis Milios" <101>") in new stack
 -- Executing [s@macro-user-callerid:9] ExecIf("SIP/101-0000000a", "0?Set(CHANNEL(language)=)") in new stack
 -- Executing [s@macro-user-callerid:10] GotoIf("SIP/101-0000000a", "1?continue") in new stack
 -- Goto (macro-user-callerid,s,19)
 -- Executing [s@macro-user-callerid:19] Set("SIP/101-0000000a", "CALLERID(number)=101") in new stack
 -- Executing [s@macro-user-callerid:20] Set("SIP/101-0000000a", "CALLERID(name)=Yiannis Milios") in new stack
 -- Executing [s@macro-user-callerid:21] NoOp("SIP/101-0000000a", "Using CallerID "Yiannis Milios" <101>") in new stack
 -- Executing [4002@from-internal:2] NoOp("SIP/101-0000000a", "Calling Out Route: spacexts") in new stack
 -- Executing [4002@from-internal:3] Set("SIP/101-0000000a", "INTRACOMPANYROUTE=YES") in new stack
 -- Executing [4002@from-internal:4] Set("SIP/101-0000000a", "MOHCLASS=default") in new stack
 -- Executing [4002@from-internal:5] Set("SIP/101-0000000a", "_NODEST=") in new stack
 -- Executing [4002@from-internal:6] Macro("SIP/101-0000000a", "record-enable,101,OUT,") in new stack
 -- Executing [s@macro-record-enable:1] GotoIf("SIP/101-0000000a", "1?check") in new stack
 -- Goto (macro-record-enable,s,4)
 -- Executing [s@macro-record-enable:4] ExecIf("SIP/101-0000000a", "0?MacroExit()") in new stack
 -- Executing [s@macro-record-enable:5] GotoIf("SIP/101-0000000a", "0?Group:OUT") in new stack
 -- Goto (macro-record-enable,s,15)
 -- Executing [s@macro-record-enable:15] GotoIf("SIP/101-0000000a", "0?IN") in new stack
 -- Executing [s@macro-record-enable:16] ExecIf("SIP/101-0000000a", "1?MacroExit()") in new stack
 -- Executing [4002@from-internal:7] Macro("SIP/101-0000000a", "dialout-trunk,2,4002,") in new stack
 -- Executing [s@macro-dialout-trunk:1] Set("SIP/101-0000000a", "DIAL_TRUNK=2") in new stack
 -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/101-0000000a", "0?sub-pincheck,s,1") in new stack
 -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/101-0000000a", "0?disabletrunk,1") in new stack
 -- Executing [s@macro-dialout-trunk:4] Set("SIP/101-0000000a", "DIAL_NUMBER=4002") in new stack
 -- Executing [s@macro-dialout-trunk:5] Set("SIP/101-0000000a", "DIAL_TRUNK_OPTIONS=tr") in new stack
 -- Executing [s@macro-dialout-trunk:6] Set("SIP/101-0000000a", "OUTBOUND_GROUP=OUT_2") in new stack
 -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/101-0000000a", "1?nomax") in new stack
 -- Goto (macro-dialout-trunk,s,9)
 -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/101-0000000a", "1?skipoutcid") in new stack
 -- Goto (macro-dialout-trunk,s,12)
 -- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/101-0000000a", "0?sub-flp-2,s,1") in new stack
 -- Executing [s@macro-dialout-trunk:13] Set("SIP/101-0000000a", "OUTNUM=4002") in new stack
 -- Executing [s@macro-dialout-trunk:14] Set("SIP/101-0000000a", "custom=IAX2/reptec") in new stack
 -- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/101-0000000a", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)tr)") in new stack
 -- Executing [s@macro-dialout-trunk:16] Macro("SIP/101-0000000a", "dialout-trunk-predial-hook,") in new stack
 -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/101-0000000a", "") in new stack
 -- Executing [s@macro-dialout-trunk:17] GotoIf("SIP/101-0000000a", "0?bypass,1") in new stack
 -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/101-0000000a", "0?customtrunk") in new stack
 -- Executing [s@macro-dialout-trunk:19] Dial("SIP/101-0000000a", "IAX2/reptec/4002,300,tr") in new stack
 -- Called IAX2/reptec/4002
 -- Call accepted by 10.99.88.1 (format gsm)
 -- Format for call is gsm
 -- IAX2/reptec-16988 answered SIP/101-0000000a
 -- Executing [h@macro-dialout-trunk:1] Macro("SIP/101-0000000a", "hangupcall,") in new stack
 -- Executing [s@macro-hangupcall:1] GotoIf("SIP/101-0000000a", "1?endmixmoncheck") in new stack
 -- Goto (macro-hangupcall,s,9)
 -- Executing [s@macro-hangupcall:9] NoOp("SIP/101-0000000a", "End of MIXMON check") in new stack
 -- Executing [s@macro-hangupcall:10] GotoIf("SIP/101-0000000a", "1?nomeetmemon") in new stack
 -- Goto (macro-hangupcall,s,15)
 -- Executing [s@macro-hangupcall:15] NoOp("SIP/101-0000000a", "MEETME_RECORDINGFILE=") in new stack
 -- Executing [s@macro-hangupcall:16] GotoIf("SIP/101-0000000a", "1?noautomon") in new stack
 -- Goto (macro-hangupcall,s,18)
 -- Executing [s@macro-hangupcall:18] NoOp("SIP/101-0000000a", "TOUCH_MONITOR_OUTPUT=") in new stack
 -- Executing [s@macro-hangupcall:19] GotoIf("SIP/101-0000000a", "1?noautomon2") in new stack
 -- Goto (macro-hangupcall,s,25)
 -- Executing [s@macro-hangupcall:25] NoOp("SIP/101-0000000a", "MONITOR_FILENAME=") in new stack
 -- Executing [s@macro-hangupcall:26] GotoIf("SIP/101-0000000a", "1?skiprg") in new stack
 -- Goto (macro-hangupcall,s,29)
 -- Executing [s@macro-hangupcall:29] GotoIf("SIP/101-0000000a", "1?skipblkvm") in new stack
 -- Goto (macro-hangupcall,s,32)
 -- Executing [s@macro-hangupcall:32] GotoIf("SIP/101-0000000a", "1?theend") in new stack
 -- Goto (macro-hangupcall,s,34)
 -- Executing [s@macro-hangupcall:34] Hangup("SIP/101-0000000a", "") in new stack
 == Spawn extension (macro-hangupcall, s, 34) exited non-zero on 'SIP/101-0000000a' in macro 'hangupcall'
 == Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on 'SIP/101-0000000a'
 -- Hungup 'IAX2/reptec-16988'
 == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/101-0000000a' in macro 'dialout-trunk'
 == Spawn extension (from-internal, 4002, 7) exited non-zero on 'SIP/101-0000000a'
 -- Remote UNIX connection
 -- Remote UNIX connection disconnected


 When other party (ext. 4002) initiates a call to me it is completed successfully and i can hear him as well.I think the issue is on my side.Maybe something with the codecs going wrong....
0
 

Accepted Solution

by:
aciddo earned 0 total points
Comment Utility
fixed by changing codec on both sides to:

allow=alaw&ulaw
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Transferring data across the virtual world became simpler but protecting it is becoming a real security challenge.  How to approach cyber security  in today's business world!
Messaging apps are amazing tools with the power to do a lot of good, but the truth is the process of collaborating with coworkers requires relationships established through meaningful communication - the kind of communication that only happens face-…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now