Difference between revisions of "How to create H323 providers/devices in the MOR"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
<br><br>
<center><big><big> THIS MANUAL IS ACTUAL FOR MOR 0.7 AND LOWER VERSIONS ONLY. MOR 8 AND UP HAS DIFFERENT ENGINE FOR THIS! </big></big></center>
<br>
<center>'''MOR 8 supports H323 [[H323 Device settings | device]]/[[H323 Provider settings |provider]] configuration from GUI.'''</center>
==How to create H323 providers/gateways==
==How to create H323 providers/gateways==


Zap and H323 does not have Realtime support in Asterisk. In order to configure them you should do following steps:  
H323 does not have Realtime support in Asterisk. That's why H323 should be configured not in GUI but in .conf files.
 
Using this configuration calls still be billed by MOR.
 
 
----
 
In order to configure them you should do following steps:  
   
   
1. Create provider in GUI<br>
1. Create provider in GUI<br>
2. Write down just created provider's device accountcode which can be found in provider's edit window in   
2. Write down just created provider's device accountcode which can be found in provider's edit window in   
Device ID: field.<br>
Device ID: field.<br>
3. In '''h323.conf'''  create section for this provider:<br>
3. In '''h323.conf'''   
 
[global]
bindaddr=YOUR_SERVERS_IP
userbyalias=no
 
create section for this provider:<br>


[nameofh323provider]
[nameofh323provider]
type=friend
type=friend
host=213.244.81.141
host=22.33.44.55
fastStart=yes
fastStart=yes
context=from_pstn
context=from_pstn
h245Tunneling=no


NOTE: context=from_pstn  
NOTE: context=from_pstn  
Line 45: Line 65:
  host=23.45.67.89
  host=23.45.67.89
  fastStart=no
  fastStart=no
  context=from_mera<br>
  context=from_mera
h245Tunneling=no
  [quintum]
  [quintum]
  type=friend
  type=friend
Line 51: Line 73:
  fastStart=no
  fastStart=no
  context=from_quintum
  context=from_quintum
h245Tunneling=no


/etc/asterisk/extensions.conf
/etc/asterisk/extensions.conf
Line 63: Line 86:
'''Note accountcodes X and Y - they should be equal to devices ID in MOR GUI to tie this configuration with MOR.'''
'''Note accountcodes X and Y - they should be equal to devices ID in MOR GUI to tie this configuration with MOR.'''


===Troubleshooting===
==H323 device/user configuration example==
 
If you hear "Congratulation from asterisk ...." message that means you forget to set '''context = mor''' in '''h323.conf''' file for your provider.
 
 
 
===H323 device/user configuration example===


Lets say we have 3 users:
Lets say we have 3 users:
Line 83: Line 100:


1. Create appropriate users in GUI: user1, user2, user3<br>
1. Create appropriate users in GUI: user1, user2, user3<br>
2. Create device1 for user1, remember ID of device1 (device1_ID)<br>
2. Create device1 for user1, remember ID of device1 (device1_ID)<br>
3. Create device2 for user2, remember ID of device2 (device2_ID)<br>
3. Create device2 for user2, remember ID of device2 (device2_ID)<br>
4. Create device31 AND device32 for user3, remember IDs of device31 and device32 (device31_ID and device32_ID)<br>
4. Create device31 AND device32 for user3, remember IDs of device31 and device32 (device31_ID and device32_ID)<br>
* How to know the devices ID? Go to appropriate user window and press on Device's icon. In window device ID = Acc in table:
[[Image:device_id.png]]
5. In /etc/asterisk/h323.conf create such sections:
5. In /etc/asterisk/h323.conf create such sections:


[device1]
[device1]
type=friend
type=friend
host=111.111.111.111
host=111.111.111.111
fastStart=yes
fastStart=yes
context=device1
context=device1
h245Tunneling=no


[device21]
[device21]
type=friend
type=friend
host=222.222.222.222
host=222.222.222.222
fastStart=yes
fastStart=yes
context=device2
context=device2
h245Tunneling=no


[device22]
[device22]
type=friend
type=friend
host=333.333.333.333
host=333.333.333.333
fastStart=yes
fastStart=yes
context=device2
context=device2
h245Tunneling=no


[device31]
[device31]
type=friend
type=friend
host=444.444.444.444
host=444.444.444.444
fastStart=yes
fastStart=yes
context=device31
context=device31
h245Tunneling=no


[device32]
[device32]
type=friend
type=friend
host=555.555.555.555
host=555.555.555.555
fastStart=yes
fastStart=yes
context=device32
context=device32
h245Tunneling=no


* NOTE: [deviceXX] is just for informational purposes, create any name you want here, do not make suplicates
* NOTE: [deviceXX] is just for informational purposes, create any name you want here, do not make suplicates
Line 122: Line 152:
6. Now n /etc/asterisk/extensions.conf create:
6. Now n /etc/asterisk/extensions.conf create:


[device1]
[device1]
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device1_ID)
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device1_ID)
exten => _X.,2,Goto(mor,${EXTEN},1)
exten => _X.,2,Goto(mor,${EXTEN},1)


[device2]
[device2]
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device2_ID)
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device2_ID)
exten => _X.,2,Goto(mor,${EXTEN},1)
exten => _X.,2,Goto(mor,${EXTEN},1)


[device31]
[device31]
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device31_ID)
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device31_ID)
exten => _X.,2,Goto(mor,${EXTEN},1)
exten => _X.,2,Goto(mor,${EXTEN},1)


[device32]
[device32]
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device32_ID)
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device32_ID)
exten => _X.,2,Goto(mor,${EXTEN},1)
exten => _X.,2,Goto(mor,${EXTEN},1)




Line 142: Line 172:


7. Reload Asterisk.
7. Reload Asterisk.
==Troubleshooting==
* If you hear "Congratulation from asterisk ...." message that means you forget to set '''context = mor''' in '''h323.conf''' file for your provider.
* If calls goes but there is no audio, make sure in '''h323.conf''' you have correct value for '''bindaddr'''.
=== ast_rtp_new_with_bindaddr: Unexpected bind error: Cannot assign requested address ===
In file /etc/asterisk/h323.conf set
bindaddr=IP
where IP is your servers' IP
=== h245Tunneling and fastStart options ===
These values (yes/no) depends on configuration on other end (e.g. your provider or device). These settings should match. If you have problems sending or receiving call - make sure these values are correct.
=== h323 debug ===
If nothing helps execute
h323 debug
command on Asterisk CLI and look for call end string.
Then check it with [[H323 hangupcause codes]] to see why call failed.
=== No Audio ===
In file /etc/asterisk/h323.conf set
bindaddr=IP
where IP is your servers' IP

Latest revision as of 17:56, 15 November 2010



THIS MANUAL IS ACTUAL FOR MOR 0.7 AND LOWER VERSIONS ONLY. MOR 8 AND UP HAS DIFFERENT ENGINE FOR THIS!


MOR 8 supports H323 device/provider configuration from GUI.


How to create H323 providers/gateways

H323 does not have Realtime support in Asterisk. That's why H323 should be configured not in GUI but in .conf files.

Using this configuration calls still be billed by MOR.



In order to configure them you should do following steps:

1. Create provider in GUI
2. Write down just created provider's device accountcode which can be found in provider's edit window in Device ID: field.
3. In h323.conf

[global]
bindaddr=YOUR_SERVERS_IP
userbyalias=no

create section for this provider:

[nameofh323provider]
type=friend
host=22.33.44.55
fastStart=yes
context=from_pstn
h245Tunneling=no

NOTE: context=from_pstn

4. In extensions.conf

[from_pstn]
exten => _X.,1,Set(CDR(ACCOUNTCODE)=X)
exten => _X.,2,Goto(mor,${EXTEN},1)

Where X(variable) is Device ID from Provider's settings, example:

Device id for providers.png

Here X == 1. (It is example! In your configuration X will have other value!)

NOTE: [from-pstn] is same context as in h323.conf

5. Reload Asterisk and you are ready to go!


H323 providers/gateway connection configuration example

Example configuration for 2 H323 gateways: MERA and QUINTUM

/etc/asterisk/h323.conf

[global]
userbyalias=no
[mera] type=friend host=23.45.67.89 fastStart=no context=from_mera h245Tunneling=no [quintum] type=friend host=192.168.10.5 fastStart=no context=from_quintum h245Tunneling=no

/etc/asterisk/extensions.conf

[from_mera]
exten => _X.,1,Set(CDR(ACCOUNTCODE)=X)
exten => _X.,2,Goto(mor,${EXTEN},1)
[from_quintum] exten => _X.,1,Set(CDR(ACCOUNTCODE)=Y) exten => _X.,2,Goto(mor,${EXTEN},1)

Note accountcodes X and Y - they should be equal to devices ID in MOR GUI to tie this configuration with MOR.

H323 device/user configuration example

Lets say we have 3 users:

  • 1st will dial from IP: 111.111.111.111
  • 2nd will dial from IPs: 222.222.222.222 AND 333.333.333.333
  • 3rd will dial from IPs: 444.444.444.444 and 555.555.555.555

Note: IPs ARE NOT real! That's just an example.

  • For 2nd user we do not care from which IP call came
  • For 3rd users each device on separate IPs, that means we CARE from which IP call came and we want to see which call came from which IP

1. Create appropriate users in GUI: user1, user2, user3

2. Create device1 for user1, remember ID of device1 (device1_ID)

3. Create device2 for user2, remember ID of device2 (device2_ID)

4. Create device31 AND device32 for user3, remember IDs of device31 and device32 (device31_ID and device32_ID)

  • How to know the devices ID? Go to appropriate user window and press on Device's icon. In window device ID = Acc in table:

Device id.png

5. In /etc/asterisk/h323.conf create such sections:

[device1]
type=friend
host=111.111.111.111
fastStart=yes
context=device1
h245Tunneling=no
[device21]
type=friend
host=222.222.222.222
fastStart=yes
context=device2
h245Tunneling=no
[device22]
type=friend
host=333.333.333.333
fastStart=yes
context=device2
h245Tunneling=no
[device31]
type=friend
host=444.444.444.444
fastStart=yes
context=device31
h245Tunneling=no
[device32]
type=friend
host=555.555.555.555
fastStart=yes
context=device32
h245Tunneling=no
  • NOTE: [deviceXX] is just for informational purposes, create any name you want here, do not make suplicates

6. Now n /etc/asterisk/extensions.conf create:

[device1]
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device1_ID)
exten => _X.,2,Goto(mor,${EXTEN},1)
[device2]
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device2_ID)
exten => _X.,2,Goto(mor,${EXTEN},1)
[device31]
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device31_ID)
exten => _X.,2,Goto(mor,${EXTEN},1)
[device32]
exten => _X.,1,Set(CDR(ACCOUNTCODE)=device32_ID)
exten => _X.,2,Goto(mor,${EXTEN},1)


  • IMPORTANT!!!! device1_ID, device2_ID, device31_ID and device32_ID are INTEGERS! Change them to the CORRECT VALUES which you got from GUI in STEP 2,3 and 4!

7. Reload Asterisk.

Troubleshooting

  • If you hear "Congratulation from asterisk ...." message that means you forget to set context = mor in h323.conf file for your provider.
  • If calls goes but there is no audio, make sure in h323.conf you have correct value for bindaddr.

ast_rtp_new_with_bindaddr: Unexpected bind error: Cannot assign requested address

In file /etc/asterisk/h323.conf set

bindaddr=IP

where IP is your servers' IP

h245Tunneling and fastStart options

These values (yes/no) depends on configuration on other end (e.g. your provider or device). These settings should match. If you have problems sending or receiving call - make sure these values are correct.


h323 debug

If nothing helps execute

h323 debug 

command on Asterisk CLI and look for call end string.

Then check it with H323 hangupcause codes to see why call failed.

No Audio

In file /etc/asterisk/h323.conf set

bindaddr=IP

where IP is your servers' IP