Category Archives: Phone – See ‘Radio’ for more

Converting MP3/WAV to ulaw/GSM

When you want to convert typical MP3/WAV files for your PBX like Asterisk, you can use sox and lame to do it easily.


lame --decode somemp3file.mp3 output.wav

First, convert the MP3 to WAV file.

Then,
For u-law:

sox -V output.wav -r 8000 -c 1 -t ul result.ulaw

For GSM:

sox output.wav -r 8000 -c 1 result.gsm resample -ql

Pre-converting your input sound files usually give much better results than using internal modules for transcoding.

SKT의 Band 1 (2.1GHz) LTE 정보

대략 3개월 전쯤부터 시내에 나가면 휴대폰에서 LTE가 잡히기 시작했습니다.
제가 지금 쓰는 엑스페리아 A는 LTE 밴드 1,19, 21밖에 지원을 안하는데 국내에서 잡힙니다. 일본전용인 밴드 19, 21은 제외하고 3G에 쓰이는 밴드1의 재활용일것이라 생각했습니다.
국내에는 3,5,8 밴드가 기존에 쓰이는것으로 알려져있습니다.

이번주부터 드디어 집에서도 새로운 밴드로 LTE가 사용이 가능해지더군요.

계측장비를 이용해서 어떤망인지 직접 확인한 결과를 올립니다. 제 예상대로 밴드 1이 맞습니다.

lte

자세하게 보고싶으신 분은 클릭하시면 원본화질로 보실 수 있습니다.

여기서 일반 사용자분들이 괄목할 정보들을 정리해 보자면..

우선 대역폭이 20MHz가 아닌 10MHz입니다.
EARFCN 150(2.125GHz Downlink) 한가지만 잡히고 다른 주파수는 잡히지 않습니다. 다른 통신사도 잡히지 않습니다.
레퍼런스 파워가 높지 않습니다. 12dBm에다가 10MHz의 블록수를 곱하면 enodeb에서 2W정도로 신호를 송출중이란 뜻인데 해외에 비해 확실히 망 구조가 조밀합니다.
하지만 일부 기지국만 2.1GHz를 가동중인듯 합니다.

LTE는 WCDMA와 같이 1.92MHz의 배수로 샘플링을 해야합니다
후.. 전에 장비에 전원을 잘못 연결하는 바람에 외장 GPS VCTCXO가 고장난 관계로 2의배수에서 소프트웨어 리샘플링을 하니 스캔하는데 시간이 오래 걸리네요.
조만간에 61.44MHz TCXO를 구입해서 지역별로 측정을 해봐야겠습니다.

지역별로 제가 다녀본 바로는 광역시 이상 시내쪽은 거의 잡힙니다.

대구 부산은 외곽도 어느정도 커버되고 있는듯 합니다.

그리고 요즘들어 몇몇 분이 호소하시는 수신률 문제도 이 때문으로 보입니다.
2.1ghz는 기지국이 기존망만큼 활성화가 되어있지 않다보니 이쪽으로 휴대폰이 접속되게 되면 수신률이 낮아 보이는 것입니다.
수신률이 캐리어 전체 수신률의 평균을 내는게 아닌 현재 접속되어있는 하나의 기지국 기준으로 계산을 하나 보니 생기는 현상입니다.
하지만 그렇다고 해서 기존 기지국이 사라지는게 아니고 수신률이 일정수준 이상으로 약해지면 기존망으로 핸드오버를 시도하니 크게 걱정하실 필요는 없으실듯 합니다.
하지만 잦은 핸드오버는 딜레이를 유발하고 배터리를 빨리 소모합니다.

Kicking spammers out of your Asterisk server

If you have your asterisk server connected to the public internet, there always will be some bad boys trying to brute-force into your PBX.

A few months before I found my asterisk server dead. Looking through the logs I was surprised to find that it was the spammers trying to brute force the password, eventually filling up the entire disk with error logs and crashing the server. Unfortunately that server operated on a single partition scheme with everything allocated for / .


[Sep 12 20:24:02] NOTICE[28190] chan_sip.c: Registration from '"249" ' failed for '37.8.53.84:10937' - No matching peer found
[Sep 12 20:24:02] NOTICE[28190] chan_sip.c: Registration from '"249" ' failed for '37.8.53.84:10937' - No matching peer found
[Sep 12 20:24:21] NOTICE[28190] chan_sip.c: Registration from '"497" ' failed for '37.8.53.84:5060' - No matching peer found
[Sep 12 20:24:21] NOTICE[28190] chan_sip.c: Registration from '"497" ' failed for '37.8.53.84:5060' - No matching peer found

Yesterday same thing happened again, but luckily I found it early enough to block it before it crashes the server.


iptables -I INPUT -s 37.8.53.84 -j DROP

I used iptables to filter out those garbage packets.
To view the blocked ip list use the following command.


iptables -n -L

It can be rather annoying when it comes to a production server where there are so many logs to inspect.
I recommend creating a script to automate the tasks if that is the case.