Zoiper at iPhone and Android phones

Hello ,
I need your help for a strange problem appeared at me.

I have an AsteriskNow+FreePBX server, for which I have set up several “Sip extensions”, some of the extensions log-in to my server via “Zoiper” soft-phone which are installed at iPhone and/or android phones.

At all zoiper devices ( on iPhone/android ) same problem as follow:

When I call or when I receive call in Zoiper the device ringing normal but when answer the call both sides can’t hear each other, same happens if I call from normal voip device to Zoiper phone or Zoiper to Zoiper phone.

I would highly appreciate your help in order to solved reported problem.

Thank you in advance for your kind attention to this subject matter

idown

If the extensions are not on the same LAN as your FreePBX, try setting
nat=yes
for the extensions involved.

If you had already done that or it doesn’t help, please post:
How connected (Wi-Fi, 3G, etc.)?
If Wi-Fi, on same LAN as FreePBX?
Codec(s) enabled in Zoiper? Codec(s) for the extension in FreePBX?
Does another VoIP app, e.g. CSipSimple on Android work properly?
Do other extension types at the problem location, e.g. IP phone or softphone on laptop, work properly?

Try to enable on Asterisk CLI

sip set debug peer your_peer_here

Post output here.

Thanks Stewrt1 for your reply.

Please note that I have enable already the “Nat=yes” but no any improve or solve of problem.

The mobile phones connected via 3G/4G or WiFi on AsterixNow+FreePbx Server , Codes which are enabled on Zoiper is : G729, U-Law, A-Law, GSM.

All other extension which use VoIP device such Cisco 303 or Cisco 7942 or normal analog phone via VoIP adapter working fine without any problem, the malfunction focused only at mobile phone that use soft-phone application ( except Acrobits). For your information i have try many freeware soft-phone such : Zoiper, Sip&Voip, Media5, Join, SipGo, VaxPhone, Join, etc but all have same problem.

Further more at same mobile phones if I run “Acrobits Softphone” I don’t have any problem and everything works fine, the reason that we like to use the Zoiper is that a free application and from the other hand “Acrobits” can’t provide a bulk license.

Thank you in advance for your kind attention to my problem.

Idown

Thanks alexeynikolaev for your reply.

I have try your instruction and I have made the command “sip set debug peer” but no any improvement.

Thank you for your kind attention to my problem

idown

sip set debug peer is a debugging command. After issuing this command (specifying the extension you want to monitor), leave the command line open and make a test call. Post any output that is displayed.

First of all, In fbpx module asterisk cli or asterisk command line interface, type

sip show peers

Take one that used Zoiper’s clients. Example, trunk_comtube (if it trunk) or 2516 (if some extension)
Execute a command

sip set debug peer trunk_comtube

You must see like this

SIP Debugging Enabled for IP: 85.192.44.73

Now, try to call by Zoiper.
In asterisk cli or in fpbx module “Asterisk Logfiles” you must see how SIP protocol work for you.
May be you found somethink like

SIP/2.0 415 Unsupported Media Type

or another 4xx error.

sip set debug off

In Zoiper try to set first codec to a-law/u-law, rtp port range to 10000-20000, disable video codecs.
In fbpx module “Asterisk SIP Settings” set same settings too.
In free version Zoiper not support G.729.

Thank Stewart1 for your reply.

Below you can find copy of the logs beffore and after the call from Voip Phone Cisco (1200) to Zoiper on iPhone (1805)

Before Call:

ÿTo: "1805"sip:[email protected];transport=UDP
ÿFrom: "1805"sip:[email protected];transport=UDP;tag=8ec9ad23
ÿCall-ID: ZDU2MmViMGUxYzY1Y2M1ZWU1ODlmODA0MmIwZjY3MjE.
ÿCSeq: 11 REGISTER
ÿExpires: 60
ÿAllow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE
ÿSupported: replaces, norefersub, extended-refer, timer, X-cisco-serviceuri
ÿUser-Agent: Zoiper r21367
ÿAuthorization:
Digest
username=“1805”,realm=“asterisk”,nonce=“1f8be202”,uri=“sip:94.70.239.17;transport=UDP”,response=“082db4c60803375fb7ce476b86118c6c”,algorithm=MD5
ÿAllow-Events: presence, kpml
ÿContent-Length: 0
ÿ
ÿ<------------->
[2014-06-18 16:30:20] VERBOSE[2119] chan_sip.c: — (15 headers 0 lines) —
[2014-06-18 16:30:20] VERBOSE[2119] chan_sip.c: Sending to 87.202.152.155:5081 (NAT)
[2014-06-18
16:30:20] NOTICE[2119] chan_sip.c: Correct auth, but based on stale
nonce received from
’"1805"sip:[email protected];transport=UDP;tag=8ec9ad23’
[2014-06-18 16:30:20] VERBOSE[2119] chan_sip.c:
ÿ<— Transmitting (NAT) to 87.202.152.155:5081 —>
ÿSIP/2.0 401 Unauthorized
ÿVia: SIP/2.0/UDP 192.168.1.66:5081;branch=z9hG4bK-d8754z-6e86fbc2d4b76250-1—d8754z-;received=87.202.152.155;rport=5081
ÿFrom: "1805"sip:[email protected];transport=UDP;tag=8ec9ad23
ÿTo: "1805"sip:[email protected];transport=UDP;tag=as291ec137
ÿCall-ID: ZDU2MmViMGUxYzY1Y2M1ZWU1ODlmODA0MmIwZjY3MjE.
ÿCSeq: 11 REGISTER
ÿServer: FPBX-2.11.0(11.7.0)
ÿAllow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
ÿSupported: replaces, timer
ÿWWW-Authenticate: Digest algorithm=MD5, realm=“asterisk”, nonce=“1aa20520”, stale=true
ÿContent-Length: 0
ÿ
ÿ
ÿ<------------>
[2014-06-18 16:30:20] VERBOSE[2119] chan_sip.c: Scheduling destruction of SIP dialog ‘ZDU2MmViMGUxYzY1Y2M1ZWU1ODlmODA0MmIwZjY3MjE.’ in 32000 ms (Method: REGISTER)
[2014-06-18 16:30:20] VERBOSE[2119] chan_sip.c:
ÿ<— SIP read from UDP:87.202.152.155:5081 —>
ÿREGISTER sip:10.10.1.91;transport=UDP SIP/2.0
ÿVia: SIP/2.0/UDP 192.168.1.66:5081;branch=z9hG4bK-d8754z-bca3453fa1f5cda9-1—d8754z-
ÿMax-Forwards: 70
ÿContact: sip:[email protected]:5081;rinstance=97c901cbae547d38;transport=UDP
ÿTo: "1805"sip:[email protected];transport=UDP
ÿFrom: "1805"sip:[email protected];transport=UDP;tag=8ec9ad23
ÿCall-ID: ZDU2MmViMGUxYzY1Y2M1ZWU1ODlmODA0MmIwZjY3MjE.
ÿCSeq: 12 REGISTER
ÿExpires: 60
ÿAllow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE
ÿSupported: replaces, norefersub, extended-refer, timer, X-cisco-serviceuri
ÿUser-Agent: Zoiper r21367
ÿAuthorization:
Digest
username=“1805”,realm=“asterisk”,nonce=“1aa20520”,uri=“sip:94.70.239.17;transport=UDP”,response=“43a29f8958528bd283a1157b04a2a92b”,algorithm=MD5
ÿAllow-Events: presence, kpml
ÿContent-Length: 0
ÿ
ÿ<------------->


After Call:

[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)
[2014-06-18 16:56:22] WARNING[15027][C-00018b5c] channel.c: Unable to find a codec translation path from (g729) to (alaw)
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type alaw, while native formats is (g729) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] chan_sip.c: Asked to transmit
frame type g729, while native formats is (alaw) read/write = g729/g729
[2014-06-18
16:56:22] WARNING[15027][C-00018b5c] channel.c: Codec mismatch on
channel SIP/1200-00018b62 setting write format to alaw from g729 native
formats (g729)

Thanks alexeynikolaev for your reply.

I have try your instruction but no any improvement above you can find copy of my server logs beffore and after the call .

Thank you for your kind attention to my problem

idown

Thirst of all.

Codec mismatch

I think your cisco phone try to use G.729A codec. And no this codec on your PBX system.

Second, try reorder codecs on your cisco phone web interface to, example, G.711.
Third, on asterisk cli type

sip show peer 1805

In output find

Codec Order : (g722:20,ulaw:20,alaw:20,gsm:20,h264:0)

Be sure in thirst place no G.729.

Another way

Read this article to add G.729A support to PBX - http://asterisk.hosting.lv/ DISCLAIMER: You might have to pay royalty fees to the G.729/723.1 patent holders for using their algorithm.


ATTENTION: If your cisco phone uses G.729 codec with B prefix - G.729B it no way to add this codec to asterisk it this time.

Thank so much alexeynikolaev for your reply.

Finally I change the “Codec” in Cisco phones from “g729” to “alaw” and problem solved. I see that Cisco phone have the option to setup three (3) different codec, something that I have select as follow:

preferred Codec:g711a
Second Preferred Codec:g711u
Third Preferred Codec:g729a

But If I do follow selection the Zoiper phone can’t communicate with Cisco phone.

preferred Codec:g729a
Second Preferred Codec:g711a
Third Preferred Codec:g711u

I like to know if any possibility to make a call from phone which run Zoiper with “alaw” codec to any office phone Cisco with the codec “g729” and via versa.

Do I need to install or configure any additional to my FreePBX server ???

Thank you in advance for your attention

idown

Anyway, format_g729.so module must be exist and loaded on asterisk PBX if you want to use it.