diff --git a/src/mod/codecs/mod_bv/mod_bv.c b/src/mod/codecs/mod_bv/mod_bv.c
index a3e3d9e239..b21bb17999 100644
--- a/src/mod/codecs/mod_bv/mod_bv.c
+++ b/src/mod/codecs/mod_bv/mod_bv.c
@@ -208,54 +208,62 @@ static switch_status_t switch_bv32_decode(switch_codec_t *codec,
 SWITCH_MODULE_LOAD_FUNCTION(mod_bv_load)
 {
 	switch_codec_interface_t *codec_interface;
+	int mpf, spf, bpf, ebpf, count; 
 
 	/* connect my internal structure to the blank pointer passed to me */
 	*module_interface = switch_loadable_module_create_module_interface(pool, modname);
 	
 	SWITCH_ADD_CODEC(codec_interface, "BroadVoice16 (BV16)"); 
 
-	switch_core_codec_add_implementation(pool,
-										 codec_interface,
-										 SWITCH_CODEC_TYPE_AUDIO,	/* enumeration defining the type of the codec */
-										 106,						/* the IANA code number */
-										 "BV16",					/* the IANA code name */
-										 NULL,						/* default fmtp to send (can be overridden by the init function) */
-										 8000,						/* samples transferred per second */
-										 8000,						/* actual samples transferred per second */
-										 16000,						/* bits transferred per second */
-										 20000,						/* number of microseconds per frame */
-										 160,						/* number of samples per frame */
-										 320,						/* number of bytes per frame decompressed */
-										 40,						/* number of bytes per frame compressed */
-										 1,							/* number of channels represented */
-										 1,							/* number of frames per network packet */
-										 switch_bv16_init,			/* function to initialize a codec handle using this implementation */
-										 switch_bv16_encode,		/* function to encode raw data into encoded data */
-										 switch_bv16_decode,		/* function to decode encoded data into raw data */
-										 switch_bv16_destroy);		/* deinitalize a codec handle using this implementation */
+	mpf = 10000, spf = 80, bpf = 160, ebpf = 20;
+	
+	for (count = 12; count > 0; count--) { 
+		switch_core_codec_add_implementation(pool,
+											 codec_interface,
+											 SWITCH_CODEC_TYPE_AUDIO,	/* enumeration defining the type of the codec */
+											 106,						/* the IANA code number */
+											 "BV16",					/* the IANA code name */
+											 NULL,						/* default fmtp to send (can be overridden by the init function) */
+											 8000,						/* samples transferred per second */
+											 8000,						/* actual samples transferred per second */
+											 16000,						/* bits transferred per second */
+											 mpf * count,				/* number of microseconds per frame */
+											 spf * count,				/* number of samples per frame */
+											 bpf * count,				/* number of bytes per frame decompressed */
+											 ebpf * count,				/* number of bytes per frame compressed */
+											 1,							/* number of channels represented */
+											 1,							/* number of frames per network packet */
+											 switch_bv16_init,			/* function to initialize a codec handle using this implementation */
+											 switch_bv16_encode,		/* function to encode raw data into encoded data */
+											 switch_bv16_decode,		/* function to decode encoded data into raw data */
+											 switch_bv16_destroy);		/* deinitalize a codec handle using this implementation */
+	}
 
 	SWITCH_ADD_CODEC(codec_interface, "BroadVoice32 (BV32)"); 
 
-	switch_core_codec_add_implementation(pool,
-										 codec_interface,
-										 SWITCH_CODEC_TYPE_AUDIO,	/* enumeration defining the type of the codec */
-										 127,						/* the IANA code number */
-										 "BV32",					/* the IANA code name */
-										 NULL,						/* default fmtp to send (can be overridden by the init function) */
-										 16000,						/* samples transferred per second */
-										 16000,						/* actual samples transferred per second */
-										 32000,						/* bits transferred per second */
-										 20000,						/* number of microseconds per frame */
-										 320,						/* number of samples per frame */
-										 640,						/* number of bytes per frame decompressed */
-										 80,						/* number of bytes per frame compressed */
-										 1,							/* number of channels represented */
-										 1,							/* number of frames per network packet */
-										 switch_bv32_init,			/* function to initialize a codec handle using this implementation */
-										 switch_bv32_encode,		/* function to encode raw data into encoded data */
-										 switch_bv32_decode,		/* function to decode encoded data into raw data */
-										 switch_bv32_destroy);		/* deinitalize a codec handle using this implementation */
+	mpf = 10000, spf = 160, bpf = 320 , ebpf = 40;
 
+	for (count = 12; count > 0; count--) { 
+		switch_core_codec_add_implementation(pool,
+											 codec_interface,
+											 SWITCH_CODEC_TYPE_AUDIO,	/* enumeration defining the type of the codec */
+											 127,						/* the IANA code number */
+											 "BV32",					/* the IANA code name */
+											 NULL,						/* default fmtp to send (can be overridden by the init function) */
+											 16000,						/* samples transferred per second */
+											 16000,						/* actual samples transferred per second */
+											 32000,						/* bits transferred per second */
+											 mpf * count,				/* number of microseconds per frame */
+											 spf * count,				/* number of samples per frame */
+											 bpf * count,				/* number of bytes per frame decompressed */
+											 ebpf * count,				/* number of bytes per frame compressed */
+											 1,							/* number of channels represented */
+											 1,							/* number of frames per network packet */
+											 switch_bv32_init,			/* function to initialize a codec handle using this implementation */
+											 switch_bv32_encode,		/* function to encode raw data into encoded data */
+											 switch_bv32_decode,		/* function to decode encoded data into raw data */
+											 switch_bv32_destroy);		/* deinitalize a codec handle using this implementation */
+	}
 
 	/* indicate that the module should continue to be loaded */
 	return SWITCH_STATUS_SUCCESS;