halcyon: Увы, увы. Попробуйте, например, укусить себя за локоть.
Физику и биологию не обманешь, глаз не сфокусируется на таком маленьком расстоянии. Минимальное фокусное расстояние - 10-20 см, всё что ближе будет плохоразличимо. Поставить индикатор-светодиод на очки ещё можно, а полноценное изображение так просто не выйдет.
Проще всего двумя запросами. Сначала получить значение mask для данного пользователя SELECT `mask` FROM `members` WHERE `id` = :user_id
Затем получить количество пользователей, стоящих в рейтинге выше данного
SELECT COUNT(*) FROM `members` WHERE `mask` < :user_mask
atambalasi: Если по полю создан индекс, то перебора не будет, сервер просто пройдёт по индексу, сразу выбирая нужные строки.
Если индекса нет, то будет запущен полный перебор строк.
Ihimura: Проверьте, не стоит ли в конфиге mysql параметр по умолчанию bind-address = 127.0.0.1. Если стоит - закомментируйте и перезапустите mysqld. Ну и порт может быть закрыт файрволом.
V A: Тогда просто в Asterisk делаете отдельного sip-пользователя и если у первого пользователя уже есть два разговора, то вызываете второго. Примерно так:
exten => 101,1,GotoIf($[${SIPPEER(101a,curcalls)}>2]?second_base)
same => n,Dial(SIP/101a)
same => n,HangUp()
same => n(second_base),Dial(SIP/101b)
same => n,HangUp()
Kris125: IP можно менять как угодно часто, достаточно переключаться между VPN-серверами или, если провайдер выдаёт не статический адрес, то просто переподключаясь к провайдеру.
Самый нижний заголовок Received как раз описывает отправку от клиента к первому серверу, именно в нём находится адрес клиента.