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=1846002http://msdn2.microsoft.com/en-us/library/bb202934.aspxhttp://msdn2.microsoft.com/en-us/library/aa921921.aspxhttp://msdn2.microsoft.com/en-us/library/aa921954.aspxmi 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