venerdì 25 gennaio 2008

Voip su windows mobile 6 e configurazione di ipdialplan.xml

Oggi ho configurato il mio PDA (Hermes con windows mobile 6) per connettersi a mytcom.it e sfruttare il loro servizio voip per telefonare a tariffe vantaggiose.
Dopo aver configurato il mio pda ed aver stabilito la connessione correttamente
come mostrato nei seguenti screenshot:

Ho fatto le classiche chiamate di prova ai numeri 690 e 695 e tutto funzionava correttamente.
Ho quindi aggiunto del credito al mio account e ho provato a chiamare numeri fissi o cellulari.
Ottenevo sempre un errore come il seguente:
"cannot complete the call phone number may not be valid"

Mi sono un po' scervellato per capire cosa potesse essere, ho chiesto aiuto al supporto di mytcom.it ma per loro tutto era ok (infatti funzionava tutto con i loro numeri di test)
fino a quando non ho capito...
il problema era la COMPOSIZIONE del numero, era impostato male il file
ipdialplan.xml

Presente nell directory \windows sul mio pda

Dopo aver cercato un po' su internet ed aver trovato le seguenti informazioni:
http://forum.xda-developers.com/showthread.php?p=1846002
http://msdn2.microsoft.com/en-us/library/bb202934.aspx
http://msdn2.microsoft.com/en-us/library/aa921921.aspx
http://msdn2.microsoft.com/en-us/library/aa921954.aspx

mi sono deciso a modificarmi il file
ipdialplan.xml

che allego di seguito:
io l'ho provato con molti numeri che ho in rubrica, sia con il +39 che senza, sia fissi che cellulari e tutto sembra funzionare correttamente.



<dialplan xmlns='http://schemas.microsoft.com/embedded/VoIP'>
<dialplan-header>
<host>#use_sipsrv_host_name#</host>
</dialplan-header>
<!-- Dial Plan rules -->
<!-- IP address rules -->
<rule pattern='\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'
restrict='Cell,SMS'
/>
<rule pattern='(\d{1,3})\*(\d{1,3})\*(\d{1,3})\*(\d{1,3})'
dial='\1.\2.\3.\4'
display='\1.\2.\3.\4'
transfer='\1.\2.\3.\4'
restrict='Cell,SMS'
/>
<!-- 11-digits rules -->
<rule pattern='1\s*-?\s*(\d{3})\s*-?\s*(\d{3})\s*-?\s*(\d{4})(\s*[Xx]\s*\d+)?'
dial='sip:91\1\2\3@$host$'
display='1 (\1) \2-\3'
transfer='sip:1\1\2\3@$host$'
/>
<rule pattern='1\s*-?\s*\((\d{3})\)\s*-?\s*(\d{3})\s*-?\s*(\d{4})(\s*[Xx]\s*\d+)?'
dial='sip:91\1\2\3@$host$'
display='1 (\1) \2-\3'
transfer='sip:1\1\2\3@$host$'
/>
<rule pattern='\+\s*1\s*-?\s*(\d{3})\s*-?\s*(\d{3})\s*-?\s*(\d{4})(\s*[Xx]\s*\d+)?'
dial='sip:91\1\2\3@$host$'
display='+1 (\1) \2-\3'
transfer='sip:1\1\2\3@$host$'
/>
<rule pattern='\+\s*1\s*-?\s*\((\d{3})\)\s*-?\s*(\d{3})\s*-?\s*(\d{4})(\s*[Xx]\s*\d+)?'
dial='sip:91\1\2\3@$host$'
display='+1 (\1) \2-\3'
transfer='sip:1\1\2\3@$host$'
/>
<!-- 11-cifre-by-maox-x-italy +39 33344455566-->
<rule pattern='\+\s*(\d{2})\s*(\d{11})'
dial='sip:\2@$host$'
display='+\1\2'
transfer='sip:\2@$host$'
/>
<!-- 10-cifre-by-maox-x-italy +39 3334445556-->
<rule pattern='\+\s*(\d{2})\s*(\d{10})'
dial='sip:\2@$host$'
display='+\1\2'
transfer='sip:\2@$host$'
/>
<!-- 9-cifre-by-maox-x-italy +39 3334445556-->
<rule pattern='\+\s*(\d{2})\s*(\d{9})'
dial='sip:\2@$host$'
display='+\1\2'
transfer='sip:\2@$host$'
/>
<!-- 8-cifre-by-maox-x-italy +39 333444555-->
<rule pattern='\+\s*(\d{2})\s*(\d{8})'
dial='sip:\2@$host$'
display='+\1\2'
transfer='sip:\2@$host$'
/>
<!-- qualsiasi-cifre-by-maox-x-italy 4916 oppure 695 oppure qualsiasi numero senza +39-->
<rule pattern='(\d+)'
dial='sip:\1@$host$'
display='\1'
transfer='sip:\1@$host$'
/>
<!-- 10-digits rules -->
<rule pattern='(\d{3})\s*(\d{3})\s*-?\s*(\d{4})(\s*[Xx]\s*\d+)?'
dial='sip:9\1\2\3@$host$'
display='(\1) \2-\3'
transfer='sip:\1\2\3@$host$'
/>
<rule pattern='\((\d{3})\)\s*(\d{3})\s*-?\s*(\d{4})(\s*[Xx]\s*\d+)?'
dial='sip:9\1\2\3@$host$'
display='(\1) \2-\3'
transfer='sip:\1\2\3@$host$'
/>
<!-- 7-digits rules -->
<rule pattern='(\d{3})\s*-?\s*(\d{4})'
dial='sip:9425\1\2@$host$'
display='\1-\2'
transfer='sip:425\1\2@$host$'
/>
<!-- SIP URI rules -->
<rule pattern='[Ss][Ii][Pp][Ss]?:\s*(\d{3})(\d{3})(\d{4})@(.+)'
display='(\1) \2-\3'
restrict='Cell,SMS'
/>
<rule pattern='([Ss][Ii][Pp][Ss]?:)?\s*([a-zA-Z0-9_-]+)@(.+)'
display='\2'
restrict='Cell,SMS'
/>
<rule pattern='[Ss][Ii][Pp][Ss]?:\s*([^@]+)'
display='\1'
restrict='Cell,SMS'
/>
<!-- 5-digits rules -->
<rule pattern='(\d{3})-?(\d{2})'
dial='sip:\1\2@$host$'
display='\1\2'
transfer='sip:\1\2@$host$'
/>
<rule pattern='1\s*\((\d{3})\)\s*(\d)'
dial='sip:1\1\2@$host$'
display='1\1\2'
transfer='sip:1\1\2@$host$'
/>
<!-- Only digits -->
<rule pattern='(\d+)'
dial='sip:\1@$host$'
display='\1'
transfer='sip:\1@$host$'
/>
</dialplan>

http://blog.maurizio.proietti.name

3 commenti:

Anonimo ha detto...

Grazie mille! Non avrei saputo da dove cominciare per modificare il dial plan!

Andrea.

Anonimo ha detto...

dove posso trovare un cab di voip setting???

grazie

Anonimo ha detto...

con questo mi sn trovato molto bene.

http://www.touchxperience.com/en/setup-voip/downloads.html

ciaoo