Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

FOP2 Community Forum

  1. Home
  2. Support
  3. Pausing Queue works, but doesn't reflect in FOP2 interface

Pausing Queue works, but doesn't reflect in FOP2 interface

Scheduled Pinned Locked Moved Support
11 Posts 3 Posters 254 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N
    N
    nicolas
    wrote on last edited by
    #2

    It might be some kind of manager permission issue, or some obscure agent name issue, as the feature works pretty well on any system that I tried. In order to debug you will need to capture fop2_server traffic with debug level set to 511 while you pause and unpause a queue member. The log will be huge, so you will want to capture just for a brief moment when you do that. A debug level 15 is less verbose and might also help. You also need to tell us if you are using freepbx or not, autoconfiguration or not, if you use manual configuration parts of your buttons.cfg definition. etc..

    1 Reply Last reply
    0
    • S
      S
      sollostech
      wrote on last edited by
      #3

      Not using FreePBX, this is Druid UCS 5.3.9. I will try the debug thanks!

      1 Reply Last reply
      0
      • S
        S
        sollostech
        wrote on last edited by
        #4

        Set the poll_interval to 60 and it changes correctly every minute.

        Here is some of the fop2 debug:

        192.168.4.120   <= <msg data="QUEUE/VOIP|queuepause|Local/5001@ael-druid-originate/n|20c0b629d5ec95ddb6177162cbcdaf30" />
        
        -- PROCESS_FLASH_COMMAND origen QUEUE/VOIP accion queuepause destino Local/5001@ael-druid-originate/n
        
        -- PROCESS_FLASH_COMMAND password 20c0b629d5ec95ddb6177162cbcdaf30
        
        VALIDAR USUARIO 5001
        
        Validation ok, have all permissions
        
        127.0.0.1       -> Action: QueuePause
        127.0.0.1       -> Interface: Local/5001@ael-druid-originate/n
        127.0.0.1       -> Paused: 1
        
        ** MAIN End of block from localhost
        
        127.0.0.1       <- Response: Success
        127.0.0.1       <- Message: Interface paused successfully
        127.0.0.1       <- Server: 0
        
        ** MAIN AMI event received...
        ** MAIN No 'Event' nor 'End'. Erasing block...
        
        Response: Success
        Message: Interface paused successfully
        Server: 0
        
        ** MAIN End of block from localhost
        
        127.0.0.1       <- Event: QueueMemberPaused
        127.0.0.1       <- Privilege: agent,all
        127.0.0.1       <- Queue: voip2
        127.0.0.1       <- Location: Local/5001@ael-druid-originate/n
        127.0.0.1       <- MemberName: Local/5001@ael-druid-originate/n
        127.0.0.1       <- Paused: 1
        127.0.0.1       <- Status: 1
        127.0.0.1       <- Server: 0
        
        ** MAIN AMI event received...
        ** MAIN There's an 'Event' in the event block
        ** MAIN Event detected block_count = 0
        ** MAIN There are 0 blocks for processing
        ** MAIN Answer block cleared
        
        ** DIGEST_EVENT: start
        
        ** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
        
        Not a reference at all
        
        ** MAIN End of block from localhost
        
        127.0.0.1       <- Event: QueueMemberPaused
        127.0.0.1       <- Privilege: agent,all
        127.0.0.1       <- Queue: voip
        127.0.0.1       <- Location: Local/5001@ael-druid-originate/n
        127.0.0.1       <- MemberName: Local/5001@ael-druid-originate/n
        127.0.0.1       <- Paused: 1
        127.0.0.1       <- Status: 1
        127.0.0.1       <- Server: 0
        
        ** MAIN AMI event received...
        ** MAIN There's an 'Event' in the event block
        ** MAIN Event detected block_count = 0
        ** MAIN There are 0 blocks for processing
        ** MAIN Answer block cleared
        
        ** DIGEST_EVENT: start
        
        ** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
        
        Not a reference at all
        
        ** MAIN AMI event received...
        ** MAIN Processing command received from flash clients...
        
        192.168.4.120   <= <msg data="QUEUE/VOIP|queueunpause|Local/5001@ael-druid-originate/n|20c0b629d5ec95ddb6177162cbcdaf30" />
        
        -- PROCESS_FLASH_COMMAND origen QUEUE/VOIP accion queueunpause destino Local/5001@ael-druid-originate/n
        
        -- PROCESS_FLASH_COMMAND password 20c0b629d5ec95ddb6177162cbcdaf30
        
        VALIDAR USUARIO 5001
        
        Validation ok, have all permissions
        
        127.0.0.1       -> Action: QueuePause
        127.0.0.1       -> Interface: Local/5001@ael-druid-originate/n
        127.0.0.1       -> Paused: 0
        
        ** MAIN End of block from localhost
        
        127.0.0.1       <- Response: Success
        127.0.0.1       <- Message: Interface unpaused successfully
        127.0.0.1       <- Server: 0
        
        ** MAIN AMI event received...
        ** MAIN No 'Event' nor 'End'. Erasing block...
        
        Response: Success
        Message: Interface unpaused successfully
        Server: 0
        
        ** MAIN End of block from localhost
        
        127.0.0.1       <- Event: QueueMemberPaused
        127.0.0.1       <- Privilege: agent,all
        127.0.0.1       <- Queue: voip2
        127.0.0.1       <- Location: Local/5001@ael-druid-originate/n
        127.0.0.1       <- MemberName: Local/5001@ael-druid-originate/n
        127.0.0.1       <- Paused: 0
        127.0.0.1       <- Status: 1
        127.0.0.1       <- Server: 0
        
        ** MAIN AMI event received...
        ** MAIN There's an 'Event' in the event block
        ** MAIN Event detected block_count = 0
        ** MAIN There are 0 blocks for processing
        ** MAIN Answer block cleared
        
        ** DIGEST_EVENT: start
        
        ** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
        
        Not a reference at all
        
        ** MAIN End of block from localhost
        
        127.0.0.1       <- Event: QueueMemberPaused
        127.0.0.1       <- Privilege: agent,all
        127.0.0.1       <- Queue: voip
        127.0.0.1       <- Location: Local/5001@ael-druid-originate/n
        127.0.0.1       <- MemberName: Local/5001@ael-druid-originate/n
        127.0.0.1       <- Paused: 0
        127.0.0.1       <- Status: 1
        127.0.0.1       <- Server: 0
        
        ** MAIN AMI event received...
        ** MAIN There's an 'Event' in the event block
        ** MAIN Event detected block_count = 0
        ** MAIN There are 0 blocks for processing
        ** MAIN Answer block cleared
        
        ** DIGEST_EVENT: start
        
        ** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
        
        Not a reference at all
        
        ** MAIN AMI event received...
        ** MAIN Processing command received from flash clients...
        
        192.168.4.120   <= <msg data="1|ping||" />
        
        -- PROCESS_FLASH_COMMAND origen 1 accion ping destino 
        
        -- PROCESS_FLASH_COMMAND password 
        
        192.168.4.120   => { 'btn': '0', 'cmd': 'pong', 'data': '0', 'slot': '' }
        
        1 Reply Last reply
        0
        • N
          N
          nicolas
          wrote on last edited by
          #5

          I am not sure as I do not see your button config file, but the queue member is this one:

          Local/5001@ael-druid-originate/n

          If you want a regular type=extension button to match that member, you will have to configure it so extension=5001 and context=ael-druid-originate . Maybe you are using a different context? Can you paste a snippet of your button configuration?

          1 Reply Last reply
          0
          • S
            S
            sollostech
            wrote on last edited by
            #6

            [SIP/phone-aastra-1]
            type=extension
            extension=5001
            context=druid-default
            label="David"
            mailbox=5001@druid-default
            extenvoicemail=5001@vm
            queuecontext=ael-druid-originate
            queuechannel=Local/5001@ael-druid-originate/n
            originatechannel=Local/5001@ael-druid-originate
            email=dave@sollos.com
            #privacy=all
            group=sales

            I just tried it with context =ael-druid-originate, but still not changing the button state.

            1 Reply Last reply
            0
            • N
              N
              nicolas
              wrote on last edited by
              #7

              Do you have the queue voip2 defined in buttons.cfg ?

              1 Reply Last reply
              0
              • S
                S
                sollostech
                wrote on last edited by
                #8

                I didn't have it, but I have added it now. Still same behavior though.

                1 Reply Last reply
                0
                • N
                  N
                  nicolas
                  wrote on last edited by
                  #9

                  Is the queue member in the queue button being shown as paused ?

                  1 Reply Last reply
                  0
                  • S
                    S
                    sollostech
                    wrote on last edited by
                    #10

                    When I pause someone in a queue, their state icon doesn't change to show as paused until the 60 seconds are up for what I have it set for poll_interval.

                    1 Reply Last reply
                    0
                    • Z
                      Z
                      zap
                      wrote on last edited by
                      #11

                      I've this problem here:

                      Agents shown fine on queue button after being added with FOP2.
                      Agents get paused by FOP2, but won't show as paused on the buttons.
                      Show queues on the CLI and FOP2 in debug level shows agents getting correctly paused/unpaused.

                      Another issue is that if I enable a low Intervall_poll (for example =60), as soon as the interval is hit, the agent disapears from the queue button, while still being registered in the queue.

                      Tried a variety of configs without success.
                      I've upgraded from FOP in order to have agent login/logout but I'm really stuck.

                      System is Asterisk 1.4.8 build on a Slackware 11.0
                      Follows some key parts from my config files and a debug dump from FOP2.

                      **
                      From buttons.cfg:**
                      [Zap/32]
                      queuechannel=Zap/32
                      channel=Zap/32
                      group=Atendimento
                      type=extension
                      label=Thaynara
                      extension=201
                      context=ramais

                      [Zap/33]
                      queuechannel=Zap/33
                      group=Atendimento
                      type=extension
                      label=Kely
                      extension=202
                      context=ramais

                      [QUEUE/101]
                      type=queue
                      label=Fila Atendimento
                      extension=

                      From manager.conf
                      [xxx]
                      secret=xxx
                      deny=0.0.0.0/0.0.0.0
                      permit=127.0.0.1/255.255.255.255
                      read = system,call,log,verbose,command,agent,user,config
                      write = system,call,log,verbose,command,agent,user,config

                      From fop2.cfg
                      [general]
                      manager_host=127.0.0.1
                      manager_port=5038
                      manager_user=XXX
                      manager_secret=XXX
                      listen_port = 4446
                      web_dir = /usr/local/apache2/htdocs/fop2
                      poll_interval = 86400
                      poll_voicemail = 0
                      monitor_ipaddress = 0
                      blind_transfer = 1
                      master_key = XXXX
                      monitor_filename=g${DEST_EXTENSION}-${UNIQUEID}
                      monitor_format=wav
                      monitor_mix=true
                      user=221:XXX:queueagent,pickup,transfer,queuemanager,hangup,meetme,record,phonebook,dial,whisper,spy
                      buttonfile=buttons.cfg

                      From queues.conf
                      ; Fila Atendimento
                      [101]
                      eventwhencalled=yes
                      announce-frequency = 45
                      periodic-announce-frequency = 45
                      announce-holdtime=yes
                      announce-round-seconds=10
                      reportholdtime=yes
                      periodic-announce = queue-callswaiting
                      monitor-type = MixMonitor
                      joinempty=strict
                      music = default
                      strategy = ringall
                      timeout = 40
                      retry = 0
                      wrapuptime = 0
                      maxlen = 1

                      From fop2-server --debuglevel 511

                      -- PROCESS_FLASH_COMMAND origen  accion queuepause destino 1
                      
                      -- PROCESS_FLASH_COMMAND password c6673f9b5f85b330f239234aaeb2a60e
                      
                      VALIDAR USUARIO 221
                      
                      Validation ok, have queueagent permissions
                      
                      127.0.0.1       -> Action: QueuePause
                      127.0.0.1       -> Interface: Zap/32
                      127.0.0.1       -> Paused: 1
                      
                      ** MAIN End of block from 127.0.0.1
                      
                      127.0.0.1       <- Response: Success
                      127.0.0.1       <- Message: Interface paused successfully
                      127.0.0.1       <- Server: 0
                      
                      ** MAIN AMI event received...
                      ** MAIN No 'Event' nor 'End'. Erasing block...
                      
                      Response: Success^M
                      Message: Interface paused successfully^M
                      Server: 0
                      
                      ** MAIN End of block from 127.0.0.1
                      
                      127.0.0.1       <- Event: QueueMemberPaused
                      127.0.0.1       <- Privilege: agent,all
                      127.0.0.1       <- Queue: 101
                      127.0.0.1       <- Location: Zap/32
                      127.0.0.1       <- MemberName: Zap/32
                      127.0.0.1       <- Paused: 1
                      127.0.0.1       <- Server: 0
                      
                      ** MAIN AMI event received...
                      ** MAIN There's an 'Event' in the event block
                      ** MAIN Event detected block_count = 0
                      ** MAIN There are 0 blocks for processing
                      ** MAIN Answer block cleared
                      
                      ** DIGEST_EVENT: start
                      
                      ** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
                      
                      Callback amiCommand not defined
                      
                      Not a reference at all
                      
                      ** QUEUE MEMBER LIST start
                      ** QUEUE MEMBER LIST devuelve <div class='memberready myclick' id='qm!QUEUE/101!Zap/32'></div><span>Thaynara</span><br class='clear'/>
                      
                      2xx.1xx.1xx.1    => { 'btn': '16@GENERAL', 'cmd': 'queuemembers', 'data': 'PGRpdiBjbGFzcz0nbWVtYmVycmVhZHkgbXljbGljaycgaWQ9J3FtIVFVRVVFLzEwMSFaYXAvMzInPjwvZGl2
                      
                      ** MAIN AMI event received...
                      ** MAIN Processing command received from flash clients...
                      
                      xxx.xxx.xxx.xxx    <= <msg data="|queuepause|2|c6673f9b5f85b330f239234aaeb2a60e" />^M
                      
                      -- PROCESS_FLASH_COMMAND origen  accion queuepause destino 2
                      
                      -- PROCESS_FLASH_COMMAND password c6673f9b5f85b330f239234aaeb2a60e
                      
                      VALIDAR USUARIO 221
                      
                      Validation ok, have queueagent permissions
                      
                      127.0.0.1       -> Action: QueuePause
                      127.0.0.1       -> Interface: Zap/33
                      127.0.0.1       -> Paused: 1
                      
                      ** MAIN End of block from 127.0.0.1
                      
                      127.0.0.1       <- Response: Success
                      127.0.0.1       <- Message: Interface paused successfully
                      127.0.0.1       <- Server: 0
                      
                      ** MAIN AMI event received...
                      ** MAIN No 'Event' nor 'End'. Erasing block...
                      
                      Response: Success^M
                      Message: Interface paused successfully^M
                      Server: 0
                      
                      ** MAIN End of block from 127.0.0.1
                      
                      127.0.0.1       <- Event: QueueMemberPaused
                      127.0.0.1       <- Privilege: agent,all
                      127.0.0.1       <- Queue: 101
                      127.0.0.1       <- Location: Zap/33
                      127.0.0.1       <- MemberName: Zap/33
                      127.0.0.1       <- Paused: 1
                      127.0.0.1       <- Server: 0
                      
                      ** MAIN AMI event received...
                      ** MAIN There's an 'Event' in the event block
                      ** MAIN Event detected block_count = 0
                      ** MAIN There are 0 blocks for processing
                      ** MAIN Answer block cleared
                      
                      ** DIGEST_EVENT: start
                      
                      ** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
                      
                      Callback amiCommand not defined
                      
                      Not a reference at all
                      
                      ** QUEUE MEMBER LIST start
                      ** QUEUE MEMBER LIST devuelve <div class='memberready myclick' id='qm!QUEUE/101!Zap/33'></div><span>Kely</span><br class='clear'/><div class='memberready mycl
                      
                      xxx.xxx.xxx.xxx    => { 'btn': '16@GENERAL', 'cmd': 'queuemembers', 'data': 'PGRpdiBjbGFzcz0nbWVtYmVycmVhZHkgbXljbGljaycgaWQ9J3FtIVFVRVVFLzEwMSFaYXAvMzMnPjwvZGl2
                      
                      ** MAIN AMI event received...
                      ** MAIN Processing command received from flash clients...
                      xxx.xxx.xxx.xxx    <= <msg data="1|ping||" />^M
                      
                      -- PROCESS_FLASH_COMMAND origen 1 accion ping destino
                      
                      -- PROCESS_FLASH_COMMAND password
                      
                      xxx.xxx.xxx.xxx    => { 'btn': '0', 'cmd': 'pong', 'data': '0', 'slot': '' }
                      
                      ** MAIN AMI event received...
                      ** MAIN Processing command received from flash clients...
                      
                      xxx.xxx.xxx.xxx    <= <msg data="QUEUE/101|queuepause|Zap/33|c6673f9b5f85b330f239234aaeb2a60e" />^M
                      
                      -- PROCESS_FLASH_COMMAND origen QUEUE/101 accion queuepause destino Zap/33
                      
                      -- PROCESS_FLASH_COMMAND password c6673f9b5f85b330f239234aaeb2a60e
                      
                      VALIDAR USUARIO 221
                      
                      Validation ok, have queueagent permissions
                      
                      127.0.0.1       -> Action: QueuePause
                      127.0.0.1       -> Interface: Zap/33
                      127.0.0.1       -> Paused: 1
                      
                      ** MAIN End of block from 127.0.0.1
                      
                      127.0.0.1       <- Response: Success
                      127.0.0.1       <- Message: Interface paused successfully
                      127.0.0.1       <- Server: 0
                      
                      ** MAIN AMI event received...
                      ** MAIN No 'Event' nor 'End'. Erasing block...
                      
                      Response: Success^M
                      Message: Interface paused successfully^M
                      Server: 0
                      
                      ** MAIN End of block from 127.0.0.1
                      
                      127.0.0.1       <- Event: QueueMemberPaused
                      127.0.0.1       <- Privilege: agent,all
                      127.0.0.1       <- Queue: 101
                      127.0.0.1       <- Location: Zap/33
                      127.0.0.1       <- MemberName: Zap/33
                      127.0.0.1       <- Paused: 1
                      127.0.0.1       <- Server: 0
                      
                      ** MAIN AMI event received...
                      ** MAIN There's an 'Event' in the event block
                      ** MAIN Event detected block_count = 0
                      ** MAIN There are 0 blocks for processing
                      ** MAIN Answer block cleared
                      
                      ** DIGEST_EVENT: start
                      
                      ** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
                      Callback amiCommand not defined
                      
                      Not a reference at all
                      
                      ** QUEUE MEMBER LIST start
                      ** QUEUE MEMBER LIST devuelve <div class='memberready myclick' id='qm!QUEUE/101!Zap/33'></div><span>Kely</span><br class='clear'/><div class='memberready mycl
                      
                      xxx.xxx.xxx.xxx    => { 'btn': '16@GENERAL', 'cmd': 'queuemembers', 'data': 'PGRpdiBjbGFzcz0nbWVtYmVycmVhZHkgbXljbGljaycgaWQ9J3FtIVFVRVVFLzEwMSFaYXAvMzMnPjwvZGl2
                      
                      ** MAIN AMI event received...
                      ** MAIN Processing command received from flash clients...
                      
                      xxx.xxx.xxx.xxx    <= <msg data="QUEUE/101|queueunpause|Zap/33|c6673f9b5f85b330f239234aaeb2a60e" />^M
                      
                      -- PROCESS_FLASH_COMMAND origen QUEUE/101 accion queueunpause destino Zap/33
                      
                      -- PROCESS_FLASH_COMMAND password c6673f9b5f85b330f239234aaeb2a60e
                      
                      VALIDAR USUARIO 221
                      
                      Validation ok, have queueagent permissions
                      
                      127.0.0.1       -> Action: QueuePause
                      127.0.0.1       -> Interface: Zap/33
                      127.0.0.1       -> Paused: 0
                      
                      ** MAIN End of block from 127.0.0.1
                      
                      127.0.0.1       <- Response: Success
                      127.0.0.1       <- Message: Interface unpaused successfully
                      127.0.0.1       <- Server: 0
                      
                      ** MAIN AMI event received...
                      ** MAIN No 'Event' nor 'End'. Erasing block...
                      
                      Response: Success^M
                      Message: Interface unpaused successfully^M
                      Server: 0
                      
                      ** MAIN End of block from 127.0.0.1
                      
                      127.0.0.1       <- Event: QueueMemberPaused
                      127.0.0.1       <- Privilege: agent,all
                      127.0.0.1       <- Queue: 101
                      127.0.0.1       <- Location: Zap/33
                      127.0.0.1       <- MemberName: Zap/33
                      127.0.0.1       <- Paused: 0
                      127.0.0.1       <- Server: 0
                      
                      ** MAIN AMI event received...
                      ** MAIN There's an 'Event' in the event block
                      ** MAIN Event detected block_count = 0
                      ** MAIN There are 0 blocks for processing
                      ** MAIN Answer block cleared
                      
                      ** DIGEST_EVENT: start
                      ** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
                      
                      Callback amiCommand not defined
                      
                      Not a reference at all
                      
                      ** QUEUE MEMBER LIST start
                      ** QUEUE MEMBER LIST devuelve <div class='memberready myclick' id='qm!QUEUE/101!Zap/33'></div><span>Kely</span><br class='clear'/><div class='memberready mycl
                      
                      xxx.xxx.xxx.xxx    => { 'btn': '16@GENERAL', 'cmd': 'queuemembers', 'data': 'PGRpdiBjbGFzcz0nbWVtYmVycmVhZHkgbXljbGljaycgaWQ9J3FtIVFVRVVFLzEwMSFaYXAvMzMnPjwvZGl2
                      
                      ** MAIN AMI event received...
                      ** MAIN Processing command received from flash clients...
                      
                      xxx.xxx.xxx.xxx    <= <msg data="QUEUE/101|queueunpause|Zap/32|c6673f9b5f85b330f239234aaeb2a60e" />^M
                      
                      -- PROCESS_FLASH_COMMAND origen QUEUE/101 accion queueunpause destino Zap/32
                      
                      -- PROCESS_FLASH_COMMAND password c6673f9b5f85b330f239234aaeb2a60e
                      
                      VALIDAR USUARIO 221
                      
                      Validation ok, have queueagent permissions
                      
                      127.0.0.1       -> Action: QueuePause
                      127.0.0.1       -> Interface: Zap/32
                      127.0.0.1       -> Paused: 0
                      
                      ** MAIN End of block from 127.0.0.1
                      
                      127.0.0.1       <- Response: Success
                      127.0.0.1       <- Message: Interface unpaused successfully
                      127.0.0.1       <- Server: 0
                      
                      ** MAIN AMI event received...
                      ** MAIN No 'Event' nor 'End'. Erasing block...
                      
                      Response: Success^M
                      Message: Interface unpaused successfully^M
                      Server: 0
                      
                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      Powered by NodeBB Contributors
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups