Outbound DTMF not working with open source G729

logtech

Joined
Apr 9, 2010
Messages
147
Likes
0
Points
0
#1
I have opened internal ticket with Voip provider regarding that issue. Trunk is set up with G729 codec as they support, with trunk:

type=peer
trustrpid=yes
dendrpid=yes
context=from-pstn
host=voipIPhost
disallow=all
allow=g729
dtmfmode=rfc2833
rfc2833compensate=yes | I added recently
canreinvite=no
insecure=very

All aastra phones have in GLOBAL SETTING:
RTP PORT=3000
FORCE RFC2833 OUT of band = enabled
DTMF method= RTP
Codec=ALL
Sillence Suppression= not enabled

When we call another number that is Voip = all out dtmf works, however, if we call pstn numbers out DTMF does not work. Good examples are banks (can type credit card numbers, or whatever and it says DOES NOT RECOGNIZE)

G729 is open source, I have tried to change dtmfmode=inband|rfc2833|info and does not work.
I know that Voip provider will say IT becasue of your settings ...... so I know I will get better help over here.

Thank you
 

logtech

Joined
Apr 9, 2010
Messages
147
Likes
0
Points
0
#2
No any known problems with audio, all works ok. Our IVR is accessible from outside.

I have also set relaxdtmf=yes in sip_general_additional.conf
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#3
Hi.

I use the G729, and I've no problem with it, using an internal IVR.
And with a remote Elastix server, no problem too.

Maybe you could try to use dtmfmode=auto ? :huh:
 

logtech

Joined
Apr 9, 2010
Messages
147
Likes
0
Points
0
#4
Only outbound DTMF does not works. Exmaple: when I call any US banks and type credit card the message is "numbers not recognized" the same story when I want to access any remote IVR 1 2 3 .... options none works. Simply DTMF tones are not recognized by other phone systems.

When people call in there is no problem with our IVR.

Once again problem is with outbound DTMF

I have already tried dtmfmode=auto and looks like it is not working. The weird is that with some phone system it works but with some not (like with any banks IVR - eee nope)

I can assume problem may laid down with OPen Source g729 or Voip provider that provides g729 trunk

I have already used Polycom phone and the sane think so it is Aastra phones settings.

Thank You
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#5
You could try another codec just for test, like that, you could have an opinion.
 

logtech

Joined
Apr 9, 2010
Messages
147
Likes
0
Points
0
#6
thank you danardf

I have just tried G711 and everything works like it should. I prefer g729 since it consumes less bandwidth and it is very limited to us. 3Mbps/600K for 25 phones and data.

With g729 and QOS all works perfect, but with g711 it is not enough. If we get more bandwidth I would choose g711 but in present situation is a little problem

I have also noticed that If I call other external phone and it is VOIP all works perfect.

I don't know what else I can do on my side.
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#7
Maybe the g729 codec is not exactly the good.
There's one codec for every CPU, like Intel PIII, PIV, with ssl, without ssl, etc...
Maybe you haven't the good codec with your CPU?
Else maybe you could talk about this problem on the website asterisk.hosting.

Regards
 

Patrick_elx

Joined
Dec 14, 2008
Messages
1,120
Likes
0
Points
0
#8
could you try to put dtmfmode=inband

inband should not work with g729, but it should revert to a working option instead

I had an issue with a provider I'm connecting with g729 that also did not let me pass dtmf properly. I've tried auto, rfc2833 etc... but without success. Then just to see what would happen with inband, I've seen a warning in the log, but it worked!!!
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#9
My 2 cents worth,

It is a true stretch of the imagination to call it "open source" the patent firmly belongs to Digium, their licensing is reasonable, other licensees offer it it cheaper and in with a more networkable option.

If you care to go the unethical and way and persuade yourself it is indeed "open source" you either use the "leaked" and claimed to be open source Intel IPP based code (IPP is not open source, so that breaks the argument) which if you read it says it is for personal and developmental use only. Or you blatantly steal it with the help of our Latvian friends binaries, binaries are surely by definition not open source, there is no source to be read.

IMHO, If you can't afford ten bucks but can afford many hours of stumbling in the dark then I guess you have stated your own self value.

O.K. rant over.

Given these facts, I argue that DTMF over g729 will not work unless you use rfc2833, the bandwidth cannot reproduce it faithfully, end of story, That Patrick found somebody that reconstructed the tones from the audio stream shows them to be "very clever". If your provider properly implement rfc2833 it will largely work, if they still rely on asterisk 1.2 you are hosed, (hence the workaround rfc2833compensate=yes, but that can break everything else)

I seriously suggest that the OP samples another VSP and see if they have the same problem, That way he can apply Occam's Razor to decide who got it wrong (my money 5:1 against the VSP, 2:1 against the stolen codec) I say that because Franck and many of us have no problem with g729 using legitimate codecs with competent VSP's, it "just works" 99.9% of the time. (there is a Canadian vendor of SIP based IVR's (who will remain nameless) that are notoriously non rfc8233 compliant, but have quite a peering network, they are pervasive, and if you run into them you are still pretty well hosed, hence only the three nines)

dicko
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#10
Patrick_elx said:
could you try to put dtmfmode=inband ...
Hi Patrick and dicko.
Like logtec wrote:
G729 is open source, I have tried to change dtmfmode=inband|rfc2833|info and does not work.
Inband is tried visibly without success. :huh:
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#11
Indeed Franck (greetings)

You can't sing while you pinch your nose, nor can g729, you must use morse-code or a semaphore instead to send the score (notes), if your VSP or you can't communicate at that digital level , then you are "F&^%ed", end of story.

regards

dicko
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#12
dicko wrote:

You can't sing while you pinch your nose
Yes, I can, and it's very funny :laugh:
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#13
dicko said:
Indeed Franck (greetings)

You can't sing while you pinch your nose, /quote]

Yes, I can, and it's very funny :laugh:
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#14
and a happy bastille day for yesterday (still 14 here), (zut alors!!!) when you all pince your nez, non?
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#15
It was the 14 July, yes. A big national day with fireworks. :)
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#16
I still have two hours, I will "fire one up" for my French and Breton friends aussi :) :)
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#17
kenavo , ar wech-all dicko :laugh:
 

logtech

Joined
Apr 9, 2010
Messages
147
Likes
0
Points
0
#18
Thank You Gentelmen

I have already tried what Patric proposed: changing in the trunk dtmfnmode to dtmfmode=inband

so the trunk looks like:

type=peer
trustrpid=yes
dendrpid=yes
context=from-pstn
host=voipIPhost
disallow=all
allow=g729
dtmfmode=inband
canreinvite=no
insecure=very

And all outbound dtmf works !!!! But inbound stop working, that is if they call our number and press whatever options from IVR it does not work.

By the way I have just received reply from Voip provider stating that "It is not our problem, it has to be something on your end".....

They only confirm that they support and should be in the trunk dtmfmode=rfc2833, nothing else.....

I also appreciate dicko' 2c reply - thank you Sir

As of now dtmfmode=inband works, but only outbound DTMF, not inbound.

AS additional update, I have other Voip provider and using their trunk with open G729 works great and all DTMF are recognized so it is open codec g729, it is Voip provider problem.

If I could only fix now inbound with dtmfmode=inband I would be happy.
 

logtech

Joined
Apr 9, 2010
Messages
147
Likes
0
Points
0
#19
Here is call trace from calling bank an selecting options 1 after that get message
“SORRY the number dialed is not recognized”

Code:
[Jul 15 17:12:55] VERBOSE[29819] logger.c:     -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/199-b7d0df80", "") in new stack
[Jul 15 17:12:55] DEBUG[29819] app_macro.c: Executed application: Macro
[Jul 15 17:12:55] VERBOSE[29819] logger.c:     -- Executing [s@macro-dialout-trunk:17] GotoIf("SIP/199-b7d0df80", "0?bypass|1") in new stack
[Jul 15 17:12:55] DEBUG[29819] app_macro.c: Executed application: GotoIf
[Jul 15 17:12:55] VERBOSE[29819] logger.c:     -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/199-b7d0df80", "0?customtrunk") in new stack
[Jul 15 17:12:55] DEBUG[29819] app_macro.c: Executed application: GotoIf
[Jul 15 17:12:55] VERBOSE[29819] logger.c:     -- Executing [s@macro-dialout-trunk:19] Dial("SIP/199-b7d0df80", "SIP/VoipInnovation/18009452000|300|wW") in new stack
[Jul 15 17:12:55] VERBOSE[29819] logger.c:     -- Called VoipInnovation/18009452000
[Jul 15 17:13:00] VERBOSE[29819] logger.c:     -- SIP/VoipInnovation-b7b17bd8 is making progress passing it to SIP/199-b7d0df80
[Jul 15 17:13:00] VERBOSE[29819] logger.c:     -- SIP/VoipInnovation-b7b17bd8 answered SIP/199-b7d0df80
[Jul 15 17:13:03] DEBUG[29580] cdr_addon_mysql.c: cdr_mysql: inserting a CDR record.
[Jul 15 17:13:03] DEBUG[29580] cdr_addon_mysql.c: cdr_mysql: SQL command as follows: INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,userfield) VALUES ('2010-07-15 17:10:34','\"16318270000\" <116318270000>','16318270000','601','ext-group', 'SIP/VOIP IP PROVIDER-b7d44a60','SIP/102-09825d50','Dial','SIP/101&SIP/102&SIP/103&SIP/105&SIP/106&SIP/107&SIP/108&SIP/110&SIP/112|20|trwW',149,134,'ANSWERED',3,'','')
[Jul 15 17:13:03] VERBOSE[29580] logger.c:   == Spawn extension (macro-dial, s, 7) exited non-zero on 'SIP/VOIP IP PROVIDER-b7d44a60' in macro 'dial'
[Jul 15 17:13:03] VERBOSE[29580] logger.c:   == Spawn extension (macro-dial, s, 7) exited non-zero on 'SIP/VOIP IP PROVIDER-b7d44a60'
[Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [h@macro-dial:1] Macro("SIP/VOIP IP PROVIDER-b7d44a60", "hangupcall") in new stack
[Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:1] GotoIf("SIP/VOIP IP PROVIDER-b7d44a60", "1?skiprg") in new stack
[Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Goto (macro-hangupcall,s,4)
[Jul 15 17:13:03] DEBUG[29580] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:4] GotoIf("SIP/VOIP IP PROVIDER-b7d44a60", "0?skipblkvm") in new stack
[Jul 15 17:13:03] DEBUG[29580] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:5] NoOp("SIP/VOIP IP PROVIDER-b7d44a60", "Cleaning Up Block VM Flag: BLKVM/601/SIP/VOIP IP PROVIDER-b7d44a60") in new stack
[Jul 15 17:13:03] DEBUG[29580] app_macro.c: Executed application: Noop
[Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:6] DBdel("SIP/VOIP IP PROVIDER-b7d44a60", "BLKVM/601/SIP/VOIP IP PROVIDER-b7d44a60") in new stack
[Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- DBdel: family=BLKVM, key=601/SIP/VOIP IP PROVIDER-b7d44a60
[Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- DBdel: Error deleting key from database.
[Jul 15 17:13:03] DEBUG[29580] app_macro.c: Executed application: DBDel
[Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:7] GotoIf("SIP/VOIP IP PROVIDER-b7d44a60", "1?theend") in new stack
[Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Goto (macro-hangupcall,s,9)
[Jul 15 17:13:03] DEBUG[29580] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:9] Hangup("SIP/VOIP IP PROVIDER-b7d44a60", "") in new stack
[Jul 15 17:13:03] VERBOSE[29580] logger.c:   == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/VOIP IP PROVIDER-b7d44a60' in macro 'hangupcall'
[Jul 15 17:13:03] VERBOSE[29580] logger.c:   == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/VOIP IP PROVIDER-b7d44a60'
[Jul 15 17:13:05] VERBOSE[29821] logger.c:   == Parsing '/etc/asterisk/manager.conf': [Jul 15 17:13:05] VERBOSE[29821] logger.c: Found
[Jul 15 17:13:05] VERBOSE[29821] logger.c:   == Parsing '/etc/asterisk/manager_additional.conf': [Jul 15 17:13:05] VERBOSE[29821] logger.c: Found
[Jul 15 17:13:05] VERBOSE[29821] logger.c:   == Parsing '/etc/asterisk/manager_custom.conf': [Jul 15 17:13:05] VERBOSE[29821] logger.c: Found
[Jul 15 17:13:05] VERBOSE[29821] logger.c:   == Manager 'admin' logged on from 127.0.0.1
[Jul 15 17:13:05] VERBOSE[29821] logger.c:   == Manager 'admin' logged off from 127.0.0.1
[Jul 15 17:13:05] VERBOSE[29822] logger.c:   == Parsing '/etc/asterisk/manager.conf': [Jul 15 17:13:05] VERBOSE[29822] logger.c: Found
[Jul 15 17:13:05] VERBOSE[29822] logger.c:   == Parsing '/etc/asterisk/manager_additional.conf': [Jul 15 17:13:05] VERBOSE[29822] logger.c: Found
[Jul 15 17:13:05] VERBOSE[29822] logger.c:   == Parsing '/etc/asterisk/manager_custom.conf': [Jul 15 17:13:05] VERBOSE[29822] logger.c: Found
[Jul 15 17:13:05] VERBOSE[29822] logger.c:   == Manager 'admin' logged on from 127.0.0.1
[Jul 15 17:13:05] VERBOSE[29822] logger.c:   == Manager 'admin' logged off from 127.0.0.1
[Jul 15 17:13:14] DEBUG[29578] cdr_addon_mysql.c: cdr_mysql: inserting a CDR record.
[Jul 15 17:13:14] DEBUG[29578] cdr_addon_mysql.c: cdr_mysql: SQL command as follows: INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,userfield) VALUES ('2010-07-15 17:10:23','COMPONY'S NUMBER','COMPONY'S NUMBER','18772329846','from-internal', 'SIP/106-b7d183d0','SIP/VoipInnovation-0981a510','Dial','SIP/VoipInnovation/18772329846|300|wW',171,164,'ANSWERED',3,'','')
[Jul 15 17:13:14] VERBOSE[29823] logger.c:   == Parsing '/etc/asterisk/manager.conf': [Jul 15 17:13:14] VERBOSE[29823] logger.c: Found
[Jul 15 17:13:14] VERBOSE[29823] logger.c:   == Parsing '/etc/asterisk/manager_additional.conf': [Jul 15 17:13:14] VERBOSE[29823] logger.c: Found
[Jul 15 17:13:14] VERBOSE[29823] logger.c:   == Parsing '/etc/asterisk/manager_custom.conf': [Jul 15 17:13:14] VERBOSE[29823] logger.c: Found
[Jul 15 17:13:14] VERBOSE[29823] logger.c:   == Manager 'admin' logged on from 127.0.0.1
[Jul 15 17:13:14] VERBOSE[29823] logger.c:   == Manager 'admin' logged off from 127.0.0.1
[Jul 15 17:13:14] VERBOSE[29578] logger.c:   == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/106-b7d183d0' in macro 'dialout-trunk'
[Jul 15 17:13:14] VERBOSE[29578] logger.c:   == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/106-b7d183d0'
[Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Executing [h@macro-dialout-trunk:1] Macro("SIP/106-b7d183d0", "hangupcall|") in new stack
[Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Executing [s@macro-hangupcall:1] GotoIf("SIP/106-b7d183d0", "1?skiprg") in new stack
[Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Goto (macro-hangupcall,s,4)
[Jul 15 17:13:14] DEBUG[29578] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Executing [s@macro-hangupcall:4] GotoIf("SIP/106-b7d183d0", "1?skipblkvm") in new stack
[Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Goto (macro-hangupcall,s,7)
[Jul 15 17:13:14] DEBUG[29578] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Executing [s@macro-hangupcall:7] GotoIf("SIP/106-b7d183d0", "1?theend") in new stack
[Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Goto (macro-hangupcall,s,9)
[Jul 15 17:13:14] DEBUG[29578] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Executing [s@macro-hangupcall:9] Hangup("SIP/106-b7d183d0", "") in new stack
[Jul 15 17:13:14] VERBOSE[29578] logger.c:   == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/106-b7d183d0' in macro 'hangupcall'
[Jul 15 17:13:14] VERBOSE[29578] logger.c:   == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/106-b7d183d0'
[Jul 15 17:13:14] VERBOSE[29824] logger.c:   == Parsing '/etc/asterisk/manager.conf': [Jul 15 17:13:14] VERBOSE[29824] logger.c: Found
[Jul 15 17:13:14] VERBOSE[29824] logger.c:   == Parsing '/etc/asterisk/manager_additional.conf': [Jul 15 17:13:14] VERBOSE[29824] logger.c: Found
[Jul 15 17:13:14] VERBOSE[29824] logger.c:   == Parsing '/etc/asterisk/manager_custom.conf': [Jul 15 17:13:14] VERBOSE[29824] logger.c: Found
[Jul 15 17:13:14] VERBOSE[29824] logger.c:   == Manager 'admin' logged on from 127.0.0.1
[Jul 15 17:13:14] VERBOSE[29824] logger.c:   == Manager 'admin' logged off from 127.0.0.1
[Jul 15 17:13:15] DTMF[29819] channel.c: DTMF begin '1' received on SIP/199-b7d0df80
[Jul 15 17:13:15] DTMF[29819] channel.c: DTMF begin passthrough '1' on SIP/199-b7d0df80
[Jul 15 17:13:15] DTMF[29819] channel.c: DTMF end '1' received on SIP/199-b7d0df80, duration 200 ms
[Jul 15 17:13:15] DTMF[29819] channel.c: DTMF end accepted with begin '1' on SIP/199-b7d0df80
[Jul 15 17:13:15] DTMF[29819] channel.c: DTMF end passthrough '1' on SIP/199-b7d0df80
[Jul 15 17:13:23] DTMF[29819] channel.c: DTMF begin '1' received on SIP/199-b7d0df80
[Jul 15 17:13:23] DTMF[29819] channel.c: DTMF begin passthrough '1' on SIP/199-b7d0df80
[Jul 15 17:13:24] DTMF[29819] channel.c: DTMF end '1' received on SIP/199-b7d0df80, duration 210 ms
[Jul 15 17:13:24] DTMF[29819] channel.c: DTMF end accepted with begin '1' on SIP/199-b7d0df80
[Jul 15 17:13:24] DTMF[29819] channel.c: DTMF end passthrough '1' on SIP/199-b7d0df80
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [number@from-internal:1] Macro("SIP/102-b7d434d0", "user-callerid|SKIPTTL|") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:1] Set("SIP/102-b7d434d0", "AMPUSER=102") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:2] GotoIf("SIP/102-b7d434d0", "0?report") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:3] ExecIf("SIP/102-b7d434d0", "1|Set|REALCALLERIDNUM=102") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:4] Set("SIP/102-b7d434d0", "AMPUSER=102") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:5] Set("SIP/102-b7d434d0", "AMPUSERCIDNAME=Dawid Mleczko") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:6] GotoIf("SIP/102-b7d434d0", "0?report") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:7] Set("SIP/102-b7d434d0", "AMPUSERCID=102") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:8] Set("SIP/102-b7d434d0", "CALLERID(all)="Dawid Mleczko" <102>") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:9] ExecIf("SIP/102-b7d434d0", "0|Set|CHANNEL(language)=") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:10] GotoIf("SIP/102-b7d434d0", "1?continue") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Goto (macro-user-callerid,s,19)
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:19] NoOp("SIP/102-b7d434d0", "Using CallerID "Dawid Mleczko" <102>") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Noop
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [@from-internal:2] Set("SIP/102-b7d434d0", "_NODEST=") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [@from-internal:3] Macro("SIP/102-b7d434d0", "record-enable|102|OUT|") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-record-enable:1] GotoIf("SIP/102-b7d434d0", "1?check") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Goto (macro-record-enable,s,4)
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-record-enable:4] AGI("SIP/102-b7d434d0", "recordingcheck|20100715-171324|1279206804.88546") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
[Jul 15 17:13:24] VERBOSE[29827] logger.c:   == Parsing '/etc/asterisk/manager.conf': [Jul 15 17:13:24] VERBOSE[29827] logger.c: Found
[Jul 15 17:13:24] VERBOSE[29827] logger.c:   == Parsing '/etc/asterisk/manager_additional.conf': [Jul 15 17:13:24] VERBOSE[29827] logger.c: Found
[Jul 15 17:13:24] VERBOSE[29827] logger.c:   == Parsing '/etc/asterisk/manager_custom.conf': [Jul 15 17:13:24] VERBOSE[29827] logger.c: Found
[Jul 15 17:13:24] VERBOSE[29827] logger.c:   == Manager 'admin' logged on from 127.0.0.1
[Jul 15 17:13:24] VERBOSE[29827] logger.c:   == Manager 'admin' logged off from 127.0.0.1
[Jul 15 17:13:24] VERBOSE[29825] logger.c:   recordingcheck|20100715-171324|1279206804.88546: Outbound recording not enabled
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- AGI Script recordingcheck completed, returning 0
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: AGI
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-record-enable:5] MacroExit("SIP/102-b7d434d0", "") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [@from-internal:4] Macro("SIP/102-b7d434d0", "dialout-trunk|5|||") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:1] Set("SIP/102-b7d434d0", "DIAL_TRUNK=5") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] DEBUG[29825] func_db.c: DB: AMPUSER/102/pinless not found in database.
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/102-b7d434d0", "0?sub-pincheck|s|1") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GosubIf
[Jul 15 17:13:24] DEBUG[29825] func_db.c: DB: AMPUSER/102/pinless not found in database.
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/102-b7d434d0", "0?disabletrunk|1") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:4] Set("SIP/102-b7d434d0", "DIAL_NUMBER=") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:5] Set("SIP/102-b7d434d0", "DIAL_TRUNK_OPTIONS=trwW") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:6] Set("SIP/102-b7d434d0", "OUTBOUND_GROUP=OUT_5") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/102-b7d434d0", "1?nomax") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Goto (macro-dialout-trunk,s,9)
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/102-b7d434d0", "0?skipoutcid") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:10] Set("SIP/102-b7d434d0", "DIAL_TRUNK_OPTIONS=wW") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:11] Macro("SIP/102-b7d434d0", "outbound-callerid|5") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/102-b7d434d0", "0|SetCallerPres|") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/102-b7d434d0", "0|Set|REALCALLERIDNUM=102") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/102-b7d434d0", "1?normcid") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Goto (macro-outbound-callerid,s,6)
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:6] Set("SIP/102-b7d434d0", "USEROUTCID=") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] DEBUG[29825] func_db.c: DB: DEVICE/102/emergency_cid not found in database.
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:7] Set("SIP/102-b7d434d0", "EMERGENCYCID=") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:8] Set("SIP/102-b7d434d0", "TRUNKOUTCID=<COMPONY'S NUMBER>") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/102-b7d434d0", "1?trunkcid") in new stack
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Goto (macro-outbound-callerid,s,12)
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/102-b7d434d0", "1|Set|CALLERID(all)=<COMPONY'S NUMBER>") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Last app: Set|CALLERID(all)=<COMPONY'S NUMBER>
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/102-b7d434d0", "0|Set|CALLERID(all)=") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/102-b7d434d0", "0|SetCallerPres|prohib_passed_screen") in new stack
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
[Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Macro
[Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:12] ExecIf("SIP/102-b7d434d0", "0|AGI|fixlocalprefix") in new stack
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#20
Again, you cannot reliably use inband DTMF with g729, perhaps you will believe this ref:-

http://en.wikipedia.org/wiki/G.729

particularly

. . .DTMF tones, Fax transmissions, and high-quality audio cannot be transported reliably with this codec. DTMF requires the use of the RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals as specified in RFC 2833 . . .


so you are restricted to RFC8233, dtmfmode=auto is more general purpose and will use RFC8233 for g729, but it is up to your codec to encode DTMF to RFC8233 and the carriers responsibility to decode in-call signaling to DTMF if and when they pass it to the PSTN. I suggest you use the VSP that you say works rather than waste any more time on this particular problem

dicko
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,902
Messages
130,886
Members
17,564
Latest member
Mai Tuyen
Top